Называть тестовые классы с помощью идентификатора пользовательской истории - это плохо? - PullRequest
1 голос
/ 16 октября 2019

Раньше я работал в команде, в которой мы использовали префикс наших автоматических (единичных, интеграционных и т. Д.) Префиксов для имен классов с идентификатором пользовательской истории.

Например, "US1234NewFeature", где "US"означает" пользовательская история "," 1234 "- это идентификатор пользовательской истории / дефекта и некоторое краткое описание.

Это соглашение хорошо сработало для нас, но, поскольку я не вижу чего-то подобного в обсуждениях, я бы хотелСпросите, есть ли проблема с этим, что я не вижу его.

Мне нравится это соглашение, потому что:

1 - При создании TDD, в самый первый момент мы все еще не знаем точнокакие классы вы собираетесь тестировать. Есть критерии, которые вы хотели бы выполнить, или поведение, которое вы должны проверить. Называть здесь тестовый класс может быть неясно.

2 - Для этой пользовательской истории вам, возможно, придется тестировать разные классы, но все эти тесты связаны с набором критериев, определенных в пользовательской истории. Таким образом, в конце у вас будут все тесты, связанные с пользовательской историей или дефектом вместе. Ответственность за это несет класс.

3 - Когда данный тест прерывается, вы быстро узнаете, из какой пользовательской истории он принадлежит, и сможете проверить, есть ли проблема в реализации теста или она возникла потому, что на самом делекритерии изменились. Предполагается, что вы тестируете больше поведения, чем реализации.

Я знаю, что это может быть общий вопрос, но вопрос в том, каковы недостатки такого подхода?

1 Ответ

1 голос
/ 19 октября 2019

Я бы посоветовал иметь пакет для разных пользовательских историй, а не называть классы с номером пользовательской истории. Или укажите идентификатор пользовательской истории в комментарии к документу Java. Лучше иметь имена классов, отражающие намерения пользовательских историй, а не их номера. Недостатки, о которых я мог подумать, следующие:

  • Удобочитаемость имени класса: Важно Использовать произносимые имена для классов, поскольку это помогаетпомните названия классов. Никто не хотел бы помнить номер пользовательской истории.
  • Ясность для будущих читателей: Будущие читатели кода могут не знать, почему классы названы таким образом. Они могут ошибочно изменить их, если вы не заставите их читать документацию перед чтением вашего кода!
  • Имена, доступные для поиска: Насколько легко выполнять поиск в ваших классах с помощью любой IDE, когда все начинается с USи набор чисел?
  • Избегайте кодировок: Похоже, вы изобрели новую кодировку, которую вы навязали своим коллегам-разработчикам. Будущие разработчики также должны изучить это, прежде чем писать какие-либо контрольные примеры. Насколько это легко? Любой код должен легко читаться и изменяться. Каждый должен иметь дело с чем-то, чтобы выучить новое правило кодирования.
...