«Написание чистого кода — это то, что вы должны делать, чтобы называть себя профессионалом. Нет разумного оправдания тому, чтобы делать что-то меньшее, чем в ваших силах».
Прочитав книгу дяди Боба Чистый код (серия Роберта К. Мартина) и получив некоторый опыт в области разработки программного обеспечения, я понял, что чистый код очень важен при разработке программного обеспечения. Итак, преимущества:
- Сам код будет более читаемым и понятным.
- Новому разработчику, попадающему в проект, будет легче разобраться в коде даже тем, кто уже работает с проектом.
- Уменьшите дублирование и увеличьте выразительность (осмысленные имена, метод, делающий одно дело)
- Никогда не скрывает замысел дизайнера, а скорее полон четких абстракций и прямых линий управления.
Но как сделать код чистым?
Значимые имена
Имена в программном обеспечении повсюду: переменные, наши функции, наши аргументы, классы и пакеты. Таким образом, они должны раскрывать намерения, быть произносимыми, доступными для поиска и иметь смысл. Вы должны создать слово в соответствии с концепцией вашего приложения, а также с использованием доменных имен решений. Не используйте префиксы и каламбуры.
Имена классов: должны содержать существительное или именное словосочетание, например AddressParser, а не глаголы.
Имена методов: Должны иметь имена глаголов или глагольных фраз, например, deletePage.
Функции
Функции должны делать одну вещь. Они должны делать это хорошо. Это должны делать только они.
Первое правило функций состоит в том, что они должны быть маленькими. Второе правило функций состоит в том, что они должны быть меньше этого размера. Идеальное количество аргументов для функции невелико.
Комментарии
«Не комментируйте плохой код — перепишите его».
Сам код должен быть понятным, и это первый способ объяснить, что он делает, и в большинстве случаев добавление комментариев только усложняет понимание кода. Но в некоторых специфических случаях он необходим, поэтому для создания хороших комментариев они должны быть информативными, объяснять цель кода и предупреждать о последствиях.
// Check to see if the employee is eligible for full benefits if (employee.flags & HOURLY_FLAG) && (employee.age > 65)) or is this better? if (employee.isEligibleForFullBenefits())
Плохие комментарии — это все остальное, это означает, что они избыточны, вводят в заблуждение, иногда используются в качестве системы контроля версий при указании авторства, закомментированном коде, шумовых комментариях и слишком большом количестве информации.
Комментарии по шуму:
/** * Default constructor. */ protected AnnualDateRule() { }
Закомментированный код:
InputStreamResponse response = new InputStreamRespone(); response.setBody(formatter.getResultStream(), formatter.getByteCount()); // InputStream resulsStream = formatter.getResultStream(); // StreamReader reader = new StreamReader(resultsStream);
использованная литература
Чистый код: Справочник по гибкому программному мастерству / Роберт С. Мартин.