Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprint_07 #720

Open
wants to merge 21 commits into
base: project_sprint_3_start
Choose a base branch
from

Conversation

ilmachin3
Copy link

Готовый 7 спринт, с успешно выполненными тестами


}

@IBOutlet weak var activityIndicator: UIActivityIndicatorView!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Стоит организовывать код следующим образом:

  • Публичные переменные
  • IBOutlet
  • Приватные переменные
  • Публичные методы(сначала initы, overrideы, и потом остальные)
  • Приватные методы
    Подробнее почитать можно тут: Организация кода

imageView.layer.cornerRadius = 20
}

func showAlert(quizResult quiz: QuizResultsViewModel) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Советую сделать так:

В протоколе контроллера сделать функцию showAlert(model: AlertModel), в реализации которого будет только строка alertPresenter?.show(alertModel: model). А создание AlertModel и вызов этой функции перенести в презенте. Так мы унифицируем показ любых алертов и для того, чтобы показать какой-то новый алерт, нужно будет всего-лишь добавить новый вызов функции showAlert в презентере.

Также можно будет сделать некоторые функции презентера приватными, так как не нужно будет их вызывать извне, а вызов будет происходить внутри самого презентера

Вопрос: Рейтинг этого фильма больше чем 6?
Ответ: НЕТ
*/
struct ViewModel {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Также стоит вынести в отдельный файл или в QuestionFactory

import XCTest // не забывайте импортировать фреймворк для тестирования
@testable import MovieQuiz // импортируем приложение для тестирования

struct StubNetworkClient: NetworkRouting {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Стабы и моки лучше хранить в отдельных файлах рядом с файлами самих тестов для уменьшения размера файла теста и упрощения читаемости его содержимого

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Файл стоит назвать MovieQuizUITests без единицы на конце

app = nil
}

func testExample() throws {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Этот тест можно удалить, так как он пустой

XCTAssertTrue(indexLabel.label == "1/10")
}

func testLaunchPerformance() throws {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тоже можно удалить

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants