Comments 7
Интроспекция - известная трясина для ума, ведь кажется, что мы обозреваем свои объективные механизмы мышления, но на самом деле активно конструируем (сочиняем) метафизические идеализации в процессе так называемого «наблюдения». :)
В таком случае можно столкнуться с оверинженерингом, когда в проекте пара функций реализованных в лоб превращаются в теже пару функций, но реализованных через гораздо большее количество кода. С одной лишь ремаркой, проект не будет рости.
Я программирую уже 17 лет и всегда, когда думаю: "проект не будет расти", происходит ровно наоборот. И моя быстрая нашлепка потом в итоге создает проблему.
Я хотел сказать, что можно писать небольшие проекты без оглядки на архитектуру, опираясь на библиотеки или фреймворк.
Со временем выработывается представление о том, как скрещивать свой код с используемыми инструментами в виде какого-то патерна. И далее, либо использовать этот "выкристализованный" патерн в каждом проекте. Либо брать и кодить с минимальным внесением "проектных знаний" об архитектуре. То есть у каждого по своему, но по моему опыту все можно сделать без умного академизма и оно будет работать.
Статья по сути ни о чем. Какой уже это по счету случай, когда человек на хабре пытается связать матрицу с IT?
Проблема в том, что никогда не знаешь, куда дальше по требованию заказчика будет двигаться проект. Можно попытаться охватить все возможные варианты и долго ковыряться с кодом, пытаясь решить с десяток задач "на перспективу"... но задача-то вот она уже, и ее надо выполнить. Так что, YAGNI - и вперед. Все равно через некоторое время придется рефакторить, если заказчик будет хотеть развивать функционал.
Ложки не существует – что это значит для программиста?