Conversation
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
cs/HomeExercises/ObjectComparison.cs
Outdated
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
| // 2. При каждом изменении свойств или добавлении новых функцию придётся переписывать | ||
| // 3. Данный код не выполняет никакой полезной функции кроме сравнения полей двух объектов | ||
| // 4. Нарушение SRP, ответственность за сравнение объетов должна быть инкапсулирована в класс | ||
| Assert.True(AreEqual(actualTsar, expectedTsar)); |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
There was a problem hiding this comment.
еще мелочь, скорее как рекомендация, а не замечание, потому что задача очень маленькая
когда у тебя в солюшене тысячи классов, навигироваться ты будешь не по Solution Explorer, а по именам и неймспейсам (стандартное сочетание ctrl+shift+n и ctrl+n), и best practice тут такой: необходимо каждый класс выносить в отдельный файл, благо решарпер/райдер позволяют это делать в пару кликов (а так же лучше если имя класса будет совпадать с именем файла)
еще тесты обычно выносят в отдельный проект:
в тестах обычно присутствуют рефы на библиотеки которые нужны только для тестов, таким образом, отделяя тесты от логики, очищается intellisense и бинари боевого кода от тестов и всего что с ними прилетает, помимо этого уменьшая размер артефактов
There was a problem hiding this comment.
это можно проще написать через Assert.Throws<>( () => ...)
There was a problem hiding this comment.
такой подход неинформативен, из названия не понятно какой кейс проверяется пока не залезешь в код и не посмотришь что поменялось

во-первых: в TestCaseData можно указать имя, тем самым четко обозначив кейс
во-вторых: тут у тебя генерация кейсов на лету, это не очень наглядно с точки зрения спецификации, чтобы понять откуда кейс взялся придется дебажиться или изучать код
может быть для мелких задач вроде таких такой контекст и легко восстанавливать почитав код, но на более сложных такое уже потребует постоянных усилий
No description provided.