среда, 27 февраля 2013 г.

Принципы — вечны, практики — иллюзорны

Основные выдержки из статьи.

Лучшие практики — субъективны и зависят в основном от контекста, в то время как принципы — вечны и универсальны.

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

Юнит тестирование имеет наибольшую ценность в гибких методологиях, с быстрыми и частыми изменениями в требованиях к разрабатываемому продукту и частым рефакторингом. Также его польза возрастает, когда есть возможность действительно быстрого написания и выполнения тестов, потому что эта обратная связь облегчает итеративный процесс написания тестов, что особенно важно в TDD.

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

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

Эффективна не практика, а принцип, лежащий в ее основе


Принципы — это как законы природы, только еще шире. Принципы скорее можно назвать законами реальности. Может быть вы даже не можете полностью описать их или же понять как они работают, но они всегда работают.

TDD (или для незнающих Test Driven Development) — действительно замечательная практика. Базовый принцип TDD — ввести качество в процесс разработки как можно раньше, в результате чего окончательный продукт получается лучше. 

Если вы применяете TDD без понимания его принципов, вы просто симулируете TDD без получения какой-либо выгоды. 

Если вы не можете понять на каком-то уровне, что смысл TDD в посеве хороших зерен, которые вы потом пожнете позднее, то вы не сможете написать хороших тестов. 

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


Комментариев нет:

Отправить комментарий