Однажды всплыла на обсуждение в отделе тема необходимости написания универсального кода. Сразу в голове сработала ассоциация с рассказанным мне однажды ,уже не помню кем, примером, как прокладывают пешеходные дорожки у нас и в Европе.
И так, как это делается у нас:
Архитектор при проектировании нового сооружения (дома, магазина и т.д.) продумывает (если продумывает) как будет выглядеть окружающая "обстановка" - детская площадка, стоянка и совместно с этим проектирует (порой непонятно чем, руководствуясь) дорожки для пешеходов. При этом никто не спрашивает пешеходов о том, будет ли им это удобно (да они собственно и не скажут - дорожек то еще нет - проверить не на чем). После того как сооружение построено, дорожки проложены, "поля засеяны" газоном - пешеходы начинают по этим газонам ходить так, как им это удобно, вытаптывая все на своем пути. Коммунальщики при этом, пытаясь сохранить приемлемый вид газонов, начинают "конструировать" всевозможные оградительные сооружения. В итоге страдают все (собственно как всегда у нас).Как делают на западе:
При сооружении ничего не планируют. Засеивают все пространство газоном и пускают пешеходов. Через полгода – год протаптываются аккуратные тропинки, по которым чаще всего ходят люди – их собственно и асфальтируют.Теперь сделаем некоторые выводы применительно к разработке:
- Если есть две зависимые разработки - делать их параллельно. При распараллеливании выявляем на этапе разработки потребности и тут же их решаем (если понадобиться повторное использование кода - всегда можно вынести уже реализованную логику).
- Не делать универсальных методов - исходить из потребностей. Так же проектировать разработку - исходя из потребностей.
- Хорошо анализировать потребности. Не надеяться что "это возможно в будущем где то понадобиться еще". Через месяц об повторном использовании кода может никто и не вспомнит и напишет свою логику.
Комментариев нет:
Отправить комментарий