chaetal
@chaetal
Я бы выделил два основополагающих подхода к решению этой (основной) проблемы разработки ПО:
- Основанный на представлениях о том, "что такое хорошо и что такое плохо": наборы всяческих принципов, правил (иногда довольно ясных, но чаще очень нечетких), паттернов и антипаттернов, представлений о хорошей архитектуре, о плохой архитектуре, а хорошем дизайне, о признаках (запахах) плохого дизайна и т.д.
- Прагматичный: реализуй как можно проще необходимый минимум, обеспечивая возможность при необходимости (а она будет всегда) быстро изменять (улучшать) свой код. На мой взгляд наиболее удачная попытка формализовать и обобщить данный подход — это Test-Driven Development в самом общем виде (речь о синтезе "классического" TDD и Mockist-ского — aka Behavior-Driven Development — подходов). Мой личный выбор — именно TDD с небольшими вкраплениями наиболее ясных принципов из предыдущего пункта.
- Основанный на представлениях о том, "что такое хорошо и что такое плохо": наборы всяческих принципов, правил (иногда довольно ясных, но чаще очень нечетких), паттернов и антипаттернов, представлений о хорошей архитектуре, о плохой архитектуре, а хорошем дизайне, о признаках (запахах) плохого дизайна и т.д.
- Прагматичный: реализуй как можно проще необходимый минимум, обеспечивая возможность при необходимости (а она будет всегда) быстро изменять (улучшать) свой код. На мой взгляд наиболее удачная попытка формализовать и обобщить данный подход — это Test-Driven Development в самом общем виде (речь о синтезе "классического" TDD и Mockist-ского — aka Behavior-Driven Development — подходов). Мой личный выбор — именно TDD с небольшими вкраплениями наиболее ясных принципов из предыдущего пункта.
Ответ написан
01 июля