Одним из ключевых ресурсов для экстремального программирования является ресурс Ward, также известный как Portland Pattern Repository, также известный как C2.com . Именно здесь многие люди хэшировали различные методологии и документировали их по мере их использования.
В этой вики есть страница « Обзоры кода экстремального программирования» , в которой участвует ряд авторов, включая Рона Джеффриса и Кента Бека.
На это они сказали:
Обзоры кода считаются важными многими гуру большого процесса. Они предназначены для обеспечения соответствия стандартам и, что более важно, предназначены для обеспечения того, чтобы код был понятным, эффективным, работал и имел QWAN. Они также намеревались помочь распространить знания о коде среди остальной команды.
ExtremeProgramming требует, чтобы вся разработка выполнялась двумя инженерами, работающими вместе. Код фактически пересматривается на лету, в значительной степени. Это гарантирует, что более чем один человек постоянно знает код.
ExtremeProgramming требует, чтобы все объекты имели UnitTests. Это гарантирует, что объект работает и продолжает работать как измененный.
Некоторые языки отражают. На таких языках UnitTests может напрямую проверять соответствие важных стандартов. (например, объекты должны реализовывать и # = и #hash, или ни то, ни другое.)
ExtremeProgramming практикует CollectiveCodeOwnership, а это означает, что объекты, требующие внимания, будут просматриваться многими разработчиками. Это имеет тенденцию оказывать давление на тех, кто создает код, который не соответствует стандартам. Приглашаем разработчиков, как ожидается, приведем код в соответствие, когда они обнаружат отклонения. Это также гарантирует, что знание кода распространяется за пределы начальной пары программистов, которые его создали.
Поэтому проекты ExtremeProgramming не требуют явных обзоров. Отбросьте их от своей методологии.
Там также немного больше дискуссий по этой теме от других.
Хотя ключевые моменты заключаются в том, что с помощью комбинации тестов, совместного владения и парного программирования эти вещи решают задачи, которые, как правило, должны выполнять проверки кода, такие как:
- Разогнать знания о том, что делается
- Второй (или более) набор глазных яблок в коде, чтобы убедиться, что он соответствует стандартам
- Проверьте правильность работы кода
Это делается непрерывно с помощью парного программирования и автоматического тестирования в экстремальном программировании, и, таким образом, явная проверка Фагана не требуется .
Связанное чтение: