ПРАКТИКА

DRY: принцип сушки.
Мнение: Анатолий Макаревич


E {EFFICIENCY} : ЭФФЕКТИВНОСТЬ / SOFT SKILLS #E


2016
Инженер Blinkist Анатолий Макаревич рассказывает, как с помощью принципа программирования DRY сделать свой год длиннее и найти время на творческие задачи.
Фото предоставил Анатолий Макаревич
Анатолий Макаревич
Инженер в Blinkist
Если совсем просто, в чем суть принципа DRY?
Анатолий Макаревич: В программировании по идее много повторяющихся действий. И тут на помощь приходит принцип DRY. Это аббревиатура, расшифровывается как Don't Repeat Yourself – «не повторяйся». В английском есть слово dry, оно означает «сухой», «сушить» и подходит по смыслу.

Строго DRY формулируется так: «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы». Принцип DRY аналогичен принципу Single Source of Truth – «единственный источник правды».

Совсем простой пример: чтобы не делать ошибок и не копипастить одно и то же, я создаю скрипты и сокращаю все частые команды в шорткаты – git status у меня просто g. Если посчитать время, то в год такие оптимизации экономят дни. Поэтому в своей работе я автоматизирую вообще все – от создания блоков верстки до ежедневных отчетов для команды. Это позволяет фокусироваться на том, что требует непосредственного участия и творческого подхода.

Другой смысл принципа DRY – не создавать зависимостей. Если при изменении чего-то одного приходится менять много другого, это означает, что вы создаете зависимости.
Как и почему применять принцип DRY в жизни?
Анатолий Макаревич: Принцип DRY полезен не только в программировании, но и в любой другой работе, да и в повседневной жизни. Мои знакомые, к примеру, завели специальную карту для хозяйки съемной квартиры и переводили туда ежемесячный платеж, чтобы она не приезжала за деньгами каждый раз – это экономило всем много времени.

Лучший мотиватор для постоянного «подсушивания» процессов по принципу DRY – прикидывать, сколько времени в год уходит на какую-то рутинную задачу. Когда видишь результаты подсчетов – а это обычно несколько дней, потраченных впустую, – то сразу возникает желание придумать, как автоматизировать эту рутину. Если получается, это все равно, что твой год становится длиннее.

КАК РАЗВИВАТЬ КАРЬЕРУ?