«Написание чистого кода — это то, что вы должны делать, чтобы называть себя профессионалом. Нет разумного оправдания тому, чтобы делать что-то меньшее, чем в ваших силах».

Прочитав книгу дяди Боба Чистый код (серия Роберта К. Мартина) и получив некоторый опыт в области разработки программного обеспечения, я понял, что чистый код очень важен при разработке программного обеспечения. Итак, преимущества:

  • Сам код будет более читаемым и понятным.
  • Новому разработчику, попадающему в проект, будет легче разобраться в коде даже тем, кто уже работает с проектом.
  • Уменьшите дублирование и увеличьте выразительность (осмысленные имена, метод, делающий одно дело)
  • Никогда не скрывает замысел дизайнера, а скорее полон четких абстракций и прямых линий управления.

Но как сделать код чистым?

Значимые имена

Имена в программном обеспечении повсюду: переменные, наши функции, наши аргументы, классы и пакеты. Таким образом, они должны раскрывать намерения, быть произносимыми, доступными для поиска и иметь смысл. Вы должны создать слово в соответствии с концепцией вашего приложения, а также с использованием доменных имен решений. Не используйте префиксы и каламбуры.

Имена классов: должны содержать существительное или именное словосочетание, например 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);

использованная литература

Чистый код: Справочник по гибкому программному мастерству / Роберт С. Мартин.