Comments 16
Принцип 2 и похожий на него принцип 5 на практике выглядят следующим образом. Мы реализуем программное обеспечение для того, чтобы сдать его на некоем объекте. То, что следующие релизы будут работать на N взаимодействующих между собой объектах на том же программно-техническом комплексе, в расчет не то чтобы не берем, но а) пока что не нужно и б) так жить проще. А вот после начнется маленький адик для тех, кто не свалил вовремя.
К сожалению, бывает и так
Хм. Всю жизнь пользуюсь этим прицепом (2) и не случалось адов. А вот любителям добавить метод на будущие, бью по рукам.
Метод/класс/модуль который не используется сейчас, а возможно будет использоваться через полгода или никогда, выглядит очень странно. В добавок этот кусок кода может устареть на момент дополнять на него ссылок.
Либо я вас совсем не понял.
ps: «количество поведения» — интересный термин
Языки со строгой типизацией следят за контрактом при компиляции кода. Тут скорее всего вопрос касается больше корректности поведения. Например аналогичные исключения кидаются в аналогичных условиях.
Все верно, это же не догма, а советы, некие "правила хорошего тона".
Взял вашу формулировку, спасибо :) Она точнее, чем в оригинале.
Будь проще, Саймон (Keep It Simple Simon, KISS)
Какой такой Семён? В смысле Саймон.
KISS — это Keep It Simple, Stupid, то есть «Оставь это простым, балда».
Ну или Keep It Short and Simple, если стесняешься называть людей глупыми.
Советы как лозунги у депутатов - "я за всё хорошее, и против всего плохого!"..)
4. Не повторяйся (Don’t Repeat Yourself, DRY)
При написании кода не повторяйтесь. То есть избегайте копирования кода в разные места.
Кроме самых очевидных кейсов, вредный совет, если применять в лоб. Лучше переформулировать - "Избегайте копирования, если приходится копировать третий или даже четвёртый раз".
Первый раз copy-past даже полезен. Кучу ментальной энергии можно сэкономить не придумывая раньше времени абстракцию, которая треснет почти сразу и утонет в if-ах/пропсах.
Копи-пастни ты один раз, ничего страшного; подожди немного, посмотри что будет дальше; при необходимости копипастни ещё раз добавив комментарий; и вот уже на следующий раз создать надёжную абстракцию будет в кайф - т.к. видно всю картину чуть шире, т.к. кейсов уже набрал. Даже имя этой абстракции/функции уже будет легче придумать.
10 важнейших принципов разработки программного обеспечения