Development

Красота и простота

(В оригинале – Beauty Is in Simplicity)

Есть одна цитата, которую стоит знать каждому разработчику. А еще лучше эту цитату не просто знать, а все время помнить.

«Красота стиля, гармонии, грации и ритма определяется простотой» – Платон.

Нам всем как разработчикам ПО стоит почаще пользоваться этой цитатой как руководством к действию.

Мы добиваемся того, чтобы наш код обладал следующими качествами:

  • Читаемостью;
  • Сопровождаемостью;
  • Скоростью разработки;
  • Красотой.

Платон говорит нам, что простота – это то, что открывает дверь для всех этих свойств.

Что такое красивый код? Вопрос, возможно, достаточно субъективный. Восприятие красоты сильно зависит от индивидуального опыта, как впрочем и любое другое восприятие. Люди, выросшие в среде искусства, воспринимают прекрасное не так, как люди, выросшие в технической среде. Сторонники искусства видят красоту в коде, сравнивая программирование с художественным искусством, а сторонники науки больше говорят о симметрии и золотом сечении, пытаясь свести все к формулам. И мой опыт говорит, что основанием для аргументов обеих сторон является именно простота.

Подумайте об исходном коде, в котором вам пришлось разбираться. Если вам этого делать не приходилось, то прекратите читать эту статью и прямо сейчас найдите какой-нибудь open source проект для изучения. Серьезно! Я не шучу! Найдите в интернете что-нибудь на каком-нибудь языке программирования по вашему выбору, написанное каким-нибудь известным экспертом.

Вернулись? Отлично. На чем мы остановились? Ага, точно. Я обнаружил, что код, который я считаю красивым, обладает общими свойствами. Основное из которых – это простота. Я обнаружил, что каким бы сложным не был проект в целом, отдельные его части должны оставаться простыми. Простые объекты, решающие единственную задачу, содержащие простые методы с понятными и информативными именами. Некоторые считают, что короткие методы по пять-десять строк кода – это перебор, и в некоторых языках достичь такого сложно, но я все равно считаю, что такая краткость – это желанная цель.

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

Красота рождается из простоты.

Автор оригинала – Jørn Olmheim