Роберт С. Мартин предлагает в первой главе своей книги "" Очистить код " несколько определений" чистого кода" от различного хорошо известного программного обеспечения эксперты. Как определить чистый код?
Определение "чистого кода"
Ответ 1
- Легко понять.
- Простое изменение.
- Легко проверить.
- Работает правильно (предложение Кента Бекка - очень правильно).
Это важные для меня вещи.
Ответ 2
Код, который я не боюсь изменять.
Ответ 3
Код, который не требует легкого понимания комментариев.
Ответ 4
Код, который читается как можно ближе к человеческому языку. Я имею в виду это на всех уровнях: от используемого синтаксиса, соглашения об именах и выравнивания вплоть до используемых алгоритмов, качества комментариев и сложности распространения кода между модулями.
Простейший пример для соглашения об именах:
if (filename.contains("blah"))
против
if (S_OK == strFN.find(0, "blah"))
Отчасти это зависит от используемой среды /API, но большинство из них, конечно же, несет ответственность разработчика
Ответ 5
Код, в котором разные модули или классы имеют четко определенные контракты, является хорошим началом.
Ответ 6
Код, который не разбивается в нескольких местах, когда вы делаете одно, казалось бы, незначительное изменение. Также легко следовать по пути управления программой.
Ответ 7
Точный код Haskell. (Не совсем.)
Ответ 8
Повторяющийся код также важен. Таким образом, важно не только качество кода, но и то, что вы делаете. Например, бизнес-логика в контроллер является бесполезным кодом