Красота и простота
(В оригинале - Beauty Is in Simplicity)
Есть одна цитата, которую стоит знать каждому разработчику. А еще лучше эту цитату не просто знать, а все время помнить.
«Красота стиля, гармонии, грации и ритма определяется простотой» - Платон.
Нам всем как разработчикам ПО стоит почаще пользоваться этой цитатой как руководством к действию.
Мы добиваемся того, чтобы наш код обладал следующими качествами:
- Читаемостью;
- Сопровождаемостью;
- Скоростью разработки;
- Красотой.
И Платон говорит нам, что простота – это то, что открывает дверь для всех этих свойств.
Что такое красивый код? Вопрос, возможно, достаточно субъективный. Восприятие красоты сильно зависит от индивидуального опыта, как впрочем и любое другое восприятие. Люди, выросшие в среде искусства, воспринимают прекрасное не так, как люди, выросшие в технической среде. Сторонники искусства видят красоту в коде, сравнивая программирование с художественным искусством, а сторонники науки больше говорят о симметрии и золотом сечении, пытаясь свести все к формулам. И мой опыт говорит, что основанием для аргументов обеих сторон является именно простота.
Подумайте об исходном коде, в котором вам пришлось разбираться. Если вам этого делать не приходилось, то прекратите читать эту статью и прямо сейчас найдите какой-нибудь open source проект для изучения. Серьезно! Я не шучу! Найдите в интернете что-нибудь на каком-нибудь языке программирования по вашему выбору, написанное каким-нибудь известным экспертом.
Вернулись? Отлично. На чем мы остановились? Ага, точно. Я обнаружил, что код, который я считаю красивым, обладает общими свойствами. Основное из которых – это простота. Я обнаружил, что каким бы сложным не был проект в целом, отдельные его части должны оставаться простыми. Простые объекты, решающие единственную задачу, содержащие простые методы с понятными и информативными именами. Некоторые считают, что короткие методы по пять-десять строк кода – это перебор, и в некоторых языках достичь такого сложно, но я все равно считаю, что такая краткость – это желанная цель.
Основная идея в том, что красивый код – это простой код. Каждая отдельная часть остается простой с простыми зависимостями и связями с другими частями системы. Делая так, мы все время поддерживаем систему в сопровождаемом состоянии, просто написанную, легко тестируемую и позволяющую поддерживать высокую скорость разработки в течении всей жизни проекта.
Красота рождается из простоты.
Автор оригинала - Jørn Ølmheim