Что такое чистый код? Этот вопрос задает себе каждый программист, особенно в начале своей профессиональной карьеры. Когда за плечами годы опыта, тогда уже появляется видение чистого кода. Но знаете, в чем «соль»? В том, что у каждого программиста свое понимание чистого кода, поэтому единого ответа на этот вопрос нет.
Все, что есть, — это общие рекомендации по написанию качественного кода и несколько определений, что такое чистый код, с которыми соглашается большинство программистов. Например, такое: чистый код — это код, который был настолько хорошо продуман до того, как был написан, что при первом запуске программа работает без ошибок и как надо. На словах это звучит очень просто, но на деле достичь качества «чистого кода» сложно. И чем «больше» код и больше разработчиков участвуют в его создании, тем меньше он соответствует «чистоте».
Что такое чистый код?
Чистый код — это код, который не оставляет никому проблем: ни разработчику, ни компьютеру, ни пользователям программы. Некоторые программисты считают чистый код абстрактной величиной, потому что там, где одному программисту будет «чисто», другому будет ужасно некомфортно. И наоборот: там, где один будет «плеваться» от качества кода, другой будет себя чувствовать как рыба в воде.
Другой момент, что требования к коду быстро устаревают, ведь там, где вчера было «хорошо и правильно» написано, уже сегодня становится «сделано не по стандартам». Но есть общие рекомендации к написанию кода, которые всегда будут актуальными, независимо от других стандартов и принципов. Именно к ним и нужно прислушиваться, чтобы код казался максимально чистым и понятным.
Что такое чистый код: рекомендации к чистоте кода
Писать читабельный код. Все программисты знают, что любой написанный код используется компьютером. Поэтому многие считают, что читабельность не так нужнаи главное, чтобы «работало». На деле получается так, что над одним кодом могут работать несколько разных программистов, которые должны его понимать. Поэтому важно писать код еще и для людей. Даже сам разработчик может через какое-то время вернуться и что-то дописывать. Если код будет нечитабельным, тогда придется потратить много времени на его разбор. Читабельность — это правильное использование пробелов, отступов, переносов строк с соблюдением понятной вложенности.
Использовать понятные имена классов, методов, функций и др. Многие программисты стараются сокращать имена, используя аббревиатуры или только им понятные названия. Правильно так: имя уже должно говорить, о чем эта переменная, функция, метод или класс, поэтому пусть имя будет чуть длиннее, зато понятнее. Но и тут важно не переусердствовать — делать имена длиннее 3-4 слов не стоит.
Для каждой отдельной задачи писать свой метод или функцию. Эта рекомендация тесно связана с определением «понятный код». В таком коде легче будет разобраться, о чем он и что выполняет конкретная функция или метод. Если так не делать, то код будет работать, однако уже в качестве «спагетти-кода», в котором будет очень трудно разобраться.
В меру комментируйте код. Комментарии обязательны, особенно в тех местах, где могут возникнуть трудности с пониманием кода. Ведь иногда придется неординарно кодить, а потому понять такой код в будущем будет проблемой. Комментарий — это короткое пояснение. Они важны как другим разработчикам, так и вам в будущем. Но с комментариями важно не переусердствовать, чтобы ваш код не превратился в художественный роман. Комментарий нужен только там, где он действительно необходим.
Используйте правильную структуру программы. Прежде чем писать код, нужно его спланировать и обдумать. То есть сначала разрабатывается структура будущей программы, по этой структуре делается план «что и за чем писать», и только потом можно приступать к разработке. При таком подходе код в будущем будет легко модифицировать и расширять. Это неизбежные работы, потому что работа над кодом не оканчивается релизом программы.
Чистый код и проблемы, связанные с его написанием
Вопрос: «Что такое чистый код?» — это больше о внешнем виде кода, о способе его написания и о его понимании другими программистами. Стремиться к чистому коду нужно, но без лишнего фанатизма. Чистый код не является требованием, а лишь приятным дополнением к качественному коду, поэтому помнить о целесообразности чистого кода нужно всегда. Например, не стоит тратить силы на чистоту кода, если программный продукт будет жить недолго.
Программисты забывают, что чистый код нужно постоянно анализировать, чтобы поддерживать его чистоту. Как мы уже писали, со временем технологии устаревают, а код, который когда-то был «чистым», может уже давно таким не являться. Периодический анализ кода помогает избежать этой проблемы.
Умение писать «чистый код» приходит с опытом и то не у всех. Написать чистый код — это потратить дополнительное время на поиск улучшений кодинга. Не все готовы тратить это время. Мы сейчас живем в таком мире, где скорость разработки стоит на первом плане и перевешивает чистоту кода и даже его безопасность. Скорость выхода программы или нового инструмента в программе — это преимущество перед конкурентами. Чистый код или безопасность кода не являются конкурентными преимуществами, поэтому ими часто пренебрегают в процессе быстрой разработки.
Заключение
Что такое чистый код? Это код, который будет приятно читать, узнавать, обслуживать, дополнять, масштабировать другому разработчику, а не тому, который его создавал. Достичь этого реально, если трудиться над собой и изначально заставлять себя писать «чистый код». Те, кому интересна эта тема, могут дополнительно почитать:
«Чистый код. Создание, анализ и рефакторинг», Роберт Мартин;
«Рефакторинг. Улучшение существующего кода», Мартин Фаулер;
«Совершенный код», Стив Макконнелл;
и др.
Также можно почитать о принципах качественного кода, таких как YANGI, DRY, KISS, SOLID и др.
Другое