Шутка из книги: "Что может быть более естественным для двух технарей, запертых в тесном пространстве, чем достать портативные компьютеры и взяться за программирование?".
В этой главе снова много кода и рассматривается модуль, который предназначен для нахождения ошибок при сравнении строк (этот вот метод assertEquals, который используем в тестах). Автор пытается отрефачить код и сделать его ещё лучше.
Заметки:
- Вспомним правило бойскаута: "Всё нужно оставлять чище, чем было до вашего прихода".
- Если в if несколько условий, то лучше вынести в отдельный метод. Инкапсуляция рулит.
- Лучше не использовать одинаковые имена в стиле this.expected и expected.
- Отрицательные условия сложнее для понимания, поэтому стоит инвертировать (не использовать ! в if).
- Часто одна переработка приводит к другой, которая отменяет первую. Это нормально.
- Не существует модуля, который нельзя было бы улучшить.