DRY – не повторяйся!

Don’t repeat yourself, DRY

Это принцип разработки программного обеспечения, нацеленный на снижение повторения информации различного рода, особенно в системах со множеством слоёв абстрагирования. Принцип DRY формулируется как: «Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы».

Он был сформулирован Энди Хантом (англ.) и Дэйвом Томасом (англ.) в их книге The Pragmatic Programmer (англ.). Они применяли этот принцип к «схемам баз данных, планам тестирования, сборкам программного обеспечения, даже к документации». Когда принцип DRY применяется успешно, изменение единственного элемента системы не требует внесения изменений в другие, логически не связанные элементы. Те элементы, которые логически связаны, изменяются предсказуемо и единообразно. Помимо использования методов и функций в коде, Томас и Хант считают необходимым использование генераторов кода, автоматических систем компиляции.

Чем хорош принцип DRY?

Часто нам приходится использовать одну функцию в разных местах, но бывает так, что копируя ее в новое место мы создаем дубликат кода, этого нельзя допускать! Почему? Представьте, что вы изменили код тела этой функции, но в остальных местах где она используется забыли это сделать, в итоге вы получите неожиданное поведение системы. Как раз для этого и нужен принцип DRY, все классы, все функции и программа должны иметь один исходный код, который хранится в системах контроля версий, репозиториях, функции используемые в нескольких местах должны выноситься в трейты (traits), об этом я еще подробно вам расскажу в дальнейших видео-уроках, которые я планирую начать снимать в ближайшее время. Соблюдение принципа DRY делает код качественным и сокращает размер программы, основная его цель – избавление от дубликатов кода.

Подпишитесь на рассылку новых статей

Подпишитесь на рассылку свежих статей и присоединяйтесь к 7 остальным подписчикам.