MiksIr
Цитата |
У принципа KISS есть одна огромная проблема - его используют как мантру, когда не хотят двигаться дальше в своем развитии. |
Жевано-пережевано. Есть разные пути рзвития. И если кто-то идет не по твоему, это не значит, что он остановился. Как ни странно, но можно развиваться и в прямо противоположном направлении - максимально упрощать систему, а не усложнять её.
Цитата |
В сложных системах баги ничуть не сложнее, ибо сложная система должна быть разбита на набор простых. |
Именно!
Цитата |
Ну и тесты, конечно. |
Дада, юнит-тесты - наше фсё. Мне на эту тему тоже нравится старый афоризм:
Цитата |
Компьютер - это устройство для решения проблем, которых до изобретения компьютера не существовало |
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
Цитата |
Ваша проблема в том, что вы неверно понимаете принцип KISS. Это видно даже из ваших слов. |
Нет у меня проблем, вот в чем фишка. Это вы себе напридумли, что если не идти по пути усложнения, то появятся проблемы. Вам не дано этого понять. Ибо вектор вашего развития известен и скалярен.
Цитата |
KISS - не принцип развития, никогда им не был и никогда не будет. KISS - это по сути оценка, причем лишь одна из многих влияющих на решение.
|
Оценка, это осмысление уже готового решения. Архитектура - план построения. Если изначально планировать систему без излишеств, то есть ой какое огромное поле для развития. Рационализация это называется.
Что касется афоризма, не думал, что это можно воспринять буквльно в данном контексте. Я имел ввиду другое. Усложняя систему мы совершенно однозначно упираемся в сложность её отлаадки. И тут приходят на выручку костыли плана юнит-тестов. Цепочка очевидна:
Сложная система -> трудность дебггинга -> упрощение дебггинга (юнит-тесты) -> простота дебаггинга -> профит.
Зменяем синюю составляющую на "простая система" и красные звенья автоматически сводятся на нет.
Соответственно тесты ничтожны в отрыве от принципа усложнения системы. Другими словами они придумны для решения проблем, которых до усложнения просто не существовало.
Ведь нужны они в основном для сильносвязнных систем, что в подвляющем большинстве присуще очень модным архитектурам.
Я сейчас напишу крамолу и уже готов к разным "фи". Но я использую принципы модульного прогрммирования, где
Цитата |
сложная система должна быть разбита на набор простых. |
Есть конечно и тут минус - объем и повтор кода. Однако есть и куча профитов. Те же юнит-тесты тут как корове седло к примеру. Ну и минимальная связанность.
Я не говорю, что это лучше. Каждому свое. Но не нужно мне говорить, что это не верно. Потому что основня масса так не делает. У меня свой путь развития, у вас свой.
Я вообще плохо понимю, зачем нужно сейчас старться сократить объем кода в ущерб простоты. Экономить место на винте? Глупо. Прогресс неумолим. Постулат, что что-то можно поправить в одном месте для всей системы - фикция. Стыдливо спрятанная за инкпсуляцией и наследованием. Пересечение областей видимости - вообще профонация в модульной системе... Что там еще?
Так, ЧСВ только потешить. Мол вот как я крут, знаю все паттерны и могу такое понаворотить, что потом одной строчкой все решится. Только вот сейчас сначала кучу юнит-тестов напишу, а то мало ли... Система то у меня вона какая сложная. Чай не говнокод какой, все по науке. Обсерверы, фабрики, белдеры, прототипы. Красота.
Ну примерно так.И убиваете профит по времени теми же тестами, проработкой архитектуры и так далее.
Не, ну нравится так - ваше право. Но прав обвинять меня в застое у вас нет. Мы просто движемся в разные стороны.
Не удержусь и тут от афоризма
Цитата |
Если вокруг темно и нет света в конце тоннеля, может статься что вы в жопе и движитесь не в ту сторону))) |
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.