avl (avl) wrote,
avl
avl

Categories:

11. Строка работающего кода ценнее, чем 500 строк спецификации

(В оригинале One line of working code is worth 500 of specification)

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

К сожалению, очень легко слишком увлечься процессом проектирования, поддавшись очарованию того, что архитектура – это вещь абстрактная. Однако факт остается фактом – сама по себе спецификация не имеет ценности. Цель проекта разработки ПО – работающая система. Проектировщик должен все время помнить об этой главной цели и о том, что дизайн системы – это еще конец проекта. Архитектор небоскреба, игнорирующий законы физики для того, чтобы сделать небоскреб покрасивее, очень скоро об этом пожалеет. Так и в разработке ПО – потеря главной цели – функционирующей системы – из вида чревато серьезными проблемами практически на любом проекте.

Цените тех людей, которые будут реализовывать ваше видение. Прислушивайтесь к ним. Если у них серьезные проблемы с вашим дизайном, то очень может быть, что правы как раз они, а ваш дизайн ошибочен (или, как минимум, недостаточно ясен). И это ваша задача – изменить дизайн в соответствии с тем, что работает в реаьлном мире, а что нет. Практически ни один дизайн не идеален вначале, но он может стать таковым по мере реализации.

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

Автор оригинала: Allison Randal

Перевод мой. Если вы решите использовать его полностью или частично, не забудьте указать ссылку на мой живой журнал!
Tags: 97_things_architect_should_know, Программирование, Развитие
Subscribe

  • Про интерфейсы

    Была у нас в офисе микроволновка. Старая, самая простая, вот такая: Весь интерфейс — два поворотных регулятора. Один задает…

  • Книжный магазин номер 1 в рунете? Ага...

    Вчера я понял, почему у книжного магазина название "Лабиринт". Это тонкая ирония по поводу его интерфейса пользователя. Чтобы там что-нибудь купить,…

  • Шкода Рапид TSI 1.2

    Давно уже присматривался к этим машинам, в частности, из-за их типа акции "1% в месяц", но т.к. поблизости от работы нет ни одного дилера, как-то не…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments