Пометка юнит-тестов с владельцем считается хорошей идеей? - PullRequest
3 голосов
/ 14 марта 2009

Мне бы хотелось узнать ваше мнение о том, стоит ли разработчикам ставить свое имя или подпись поверх каждого написанного ими теста и почему (нет)?

Ответы [ 6 ]

16 голосов
/ 14 марта 2009

Я бы сказал нет. Если вам действительно нужно знать, кто написал тест, вы сможете заглянуть в свой контроль версий, чтобы узнать, кто виноват. Когда люди начинают называть свое имя вещами, вы теряете чувство коллективной собственности / вины, и люди начинают больше интересоваться «своим» кодом, а не системой в целом.

7 голосов
/ 14 марта 2009

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

1 голос
/ 16 марта 2009

Я предпочитаю самоочевидные тестовые случаи , а не подписанные тесты.

Даже если вы знаете, кто написал тест, и он все еще работает здесь, и он доступен, вы не можете быть уверены, что он помнит причины, по которым он написал этот тест.

Убедитесь, что имена тестов достаточно явные. При необходимости добавьте комментарии, ссылочный идентификатор ошибки, историю пользователя, клиента ...

1 голос
/ 14 марта 2009

Что бы вы сделали с информацией?

Нет смысла использовать имя автора.

Как правило, информация имеет одно из двух значений.

  1. Человек ушел (ушел из компании, ушел из проекта, или подрядчик, и тот, кого больше никогда не найдут).

  2. Человек все еще рядом.

Во втором случае вы уже знали это. Наличие их имени в файле исходного кода не проясняет тот факт, что они работали над этим кодом, все еще находятся в компании и все еще находятся в проекте.

Итак, имя автора не имеет прецедентов.

0 голосов
/ 14 марта 2009

Я думаю, что это действительно зависит от того, какая часть вашей культуры связана с владением кодом. Если культура вашей команды такова, что весь код принадлежит кому-то, и только этот человек может прикоснуться к этому коду, тогда можно указать, чей это код, чей смысл.

Однако я предпочитаю работать в командах, где есть коллективное владение кодом. Иногда приятно иметь оригинального автора в файле, просто чтобы увидеть, чей это был оригинальный дизайн, но кроме этого, я не думаю, что маркировка конкретных тестов полезна.

Как уже упоминали другие люди, если вам действительно нужно выяснить, кто внес определенное изменение, вы можете выяснить это с помощью контроля версий. В целом, я думаю, что тесты должны принадлежать и поддерживаться всей командой.

0 голосов
/ 14 марта 2009

Я думаю, это зависит от отношения, которое уже существует. Если существует много конфликтов, то удаление всех имен полезно, потому что код стоит сам за себя. Однако, если имена ставятся на тесты (как с кодом), то разработчик становится владельцем.

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

Однако, если есть более темная атмосфера, больше о разработчиках, которые обороняются и пытаются подорвать друг друга, тогда имена заставят их сосредоточиться на том, «кто сделал этот код неправильным» или «этот тест не удался, потому что X это плохо закодировано, вместо того, чтобы сосредоточиться на ошибке, которую может обнаружить тест.

Так что всегда есть баланс при явном присоединении имен к подобным тестам. И, как упоминал Энди, всегда есть контроль над источниками, если вам ДЕЙСТВИТЕЛЬНО нужно знать, кто что-то написал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...