Чистый код
Рефакторинг — это, в первую очередь, превращение грязного кода в чистый.
Чистый код проходит все тесты
Если программа проходит только 95% тестов, значит где-то у вас завелся грязный код. Если у вас вообще нет тестов, вы не проходите этот пункт автоматически.
Чистый код очевиден для других программистов
И я не говорю о каких-то супер сложных алгоритмах. Плохое именование переменных, раздутые классы и методы — всё это размывает очевидность кода.
Чистый код не содержит дублирования
Если приходится изменять участок кода с дублированием, нужно будет не забыть внести эти же изменения и в других местах, где код повторяется.
Чистый код содержит минимум классов и других движущихся частей
Чем меньше кода, тем меньше его нужно держать в голове. Чем меньше кода, тем меньше вероятность его сломать.