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

Опыт разработки у меня, в общем, не маленький. Были и успешные моменты, были и провалы. Думаю, можно попробовать составить список возникавших когда-либо проблем вкупе со способами, которые позволили бы вообще избежать их появления. Должно получиться интересно.

В пройденном недавно учебном курсе по SaaS очень часто повторяется — «dry your code» (высуши свой код). «Сушить» в данном случае идёт от акронима DRY — Don't Repeat Yourself. Это относится и к широко распространённой копипасте, и к тому, что разработчики, работающие над одним проектом не знают, что делают их коллеги и повторяют сделанный ими функционал.

Я тоже такое встречал. Нужно было поправить интерфейс программы, отображающей объекты разных классов. Классов было порядка пары десятков и для каждого была написана (копипастой) своя функция отображения. Когда потребовалось что-то в них поменять, пришлось править два десятка файлов — сделать кучу никому не нужной работы. Куда разумнее было бы вынести общий функционал в класс отображения и сделать одну единственную правку.

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

Don't repeat yourself