Five lines of code

Five Lines of Code is a fresh look at refactoring for developers of all skill levels. In it, you’ll master author Christian Clausen’s innovative approach, learning concrete rules to get any method down to five lines—or less! You’ll learn when to refactor, specific refactoring patterns that apply to most common problems, and characteristics of code that should be deleted altogether.

Clausen C. Five lines of code: how and when to refactor / C. Clausen, Shelter Island, NY: Manning Publications Co, 2021. 307 c.

Список правил и соответствующих рефакторингов

  • Пять строк. Методы должны содержать не более пяти строк, исключая открывающие и закрывающие фигурные скобки. Рефакторинг - Extract method.
  • Либо вызывай, либо передавай. Функция должна либо вызывать метод у объекта, либо передавать этот объект дальше, но не должна делать и то, и другое. Рефакторинг - Extract method.
  • IF только в первой строке. Если в функции есть условный оператор, то он может быть только первым оператором в функции. Рефакторинг - Extract method.
  • Никогда не использовать IF-ELSE. Такое возможно только в тех случаях, когда мы проверяем тип данных, не находящийся под нашим контролем. Рефакторинг - Replace type codes with classes.
  • Не использовать SWITCH. Такое возможно, только, если все возможные кейсы представлены явно (т.е. не используется ветка default) и в каждом кейсе есть инструкция return. Рефакторинг - Push code into classes.
  • Наследоваться только от интерфейсов. От классов и абстрактных классов наследоваться нельзя. Рефакторинг - Introduce Strategy pattern.
  • Использовать только чистые условия. Это означает, что операции проверки чего-либо не должны иметь побочных эффектов, а значит, должны быть чистыми вычислениями.
  • У каждого интерфейса минимум две реализации. Нужно избавляться от “мусорных” интерфейсов, для которых существует только одна реализация.
  • Не использовать геттеры/сеттеры". Исключение - поля с булевым типом.
  • Устранять общие аффиксы. Методы, в именах которых есть общие/одинаковые префиксы или суффиксы, принадлежат одному классу, который необходимо выявить и выделить в самостоятельную сущность.