#рефакторинг #запахи_кода ![[Pasted image 20241114072528.png]] > Комментарии приводят нас к плохому коду, издающему всевозможные дурные запахи, о которых мы писали в этой главе. Первым действием должно быть удаление этих запахов с помощью рефакторинга. После этого комментарии часто оказываются ненужными. > Почувствовав необходимость написать комментарий, попробуйте сначала изменить структуру кода так, чтобы любые комментарии стали ненужными. > Комментарии полезны, когда вы не знаете, что делать. Помимо описания про­ исходящего, комментарии могут отмечать те места, в которых вы не уверены. Комментарии — хорошее место пояснить, почему вы поступаете именно так. Эта информация пригодится тем, кто будет работать с вашим кодом в будущем. ### **Признаки** - Метод содержит множество поясняющих комментариев ### **Причины появления** - Зачастую комментарии создаются с хорошими намерениями, когда автор и сам понимает, что его код недостаточно очевиден и понятен. В таких случаях комментарии играют роль «дезодоранта», т.е. пытаются заглушить «дурной запах» недостаточно проработанного кода - Самый лучший комментарий — это хорошее название метода или класса ### **Рефакторинги** - [[Извлечение функции (Extract Function)]] - [[Изменение объявления функции (Change Function Declaration)]] - [[Введение утверждения (Introduce Assertion)]] ![[Pasted image 20241114072633.png]] ### **Результат** - Код становится более очевидным и понятным ### **Не стоит трогать, если...** Иногда комментарии бывают полезными: - Те, которые объясняют **почему** что-то выполняется именно таким образом. - Те, которые объясняют сложные алгоритмы (когда все иные средства упростить алгоритм уже были испробованы). ### **Ссылки** - https://refactoring.guru/ru/smells/comments - [[Мартин Фаулер - Рефакторинг кода на JavaScript]]