Files

44 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Рефакторинг
<br/><br/>
### Объяснение в один абзац
Рефакторинг является важным мероприятием в процессе итеративной разработки. Удаление "запахов кода" (плохих методов кодирования), таких как дублированный код, длинные методы, список длинных параметров, улучшит ваш код и сделает его более понятным. Использование инструментов статического анализа поможет вам найти эти запахи кода и построить процесс вокруг рефакторинга. Добавление этих инструментов в вашу сборку CI поможет автоматизировать процесс проверки качества. Если ваш CI интегрируется с таким инструментом, как Sonar или Code Climate, сборка завершится неудачно, если он обнаружит запах кода и сообщит автору, как решить проблему. Эти инструменты статического анализа дополнят такие инструменты lint, как ESLint. Большинство инструментов для рисования будут сосредоточены на стилях кода, таких как отступы и пропущенные точки с запятой (хотя некоторые найдут запахи кода, такие как функции Long) в одном файле, в то время как инструменты статического анализа сосредоточатся на поиске запахов кода (дублирующий код, анализ сложности и т.д.), Которые находятся в отдельные файлы и несколько файлов.
<br/><br/>
### Мартин Фаулер - главный научный сотрудник ThoughtWorks
Из книги "Рефакторинг - улучшение дизайна существующего кода"
> Рефакторинг - это контролируемый метод улучшения дизайна существующей кодовой базы.
<br/><br/>
### Эван Бурхард - консультант по веб-разработке и автор
Из книги "Рефакторинг JavaScript: Превращение плохого кода в хороший код"
> Независимо от того, фреймворк или
"compiles-to-JS" язык или билиотеку вы используете, ошибки и проблемы с производительностью
всегда будут проблемой, если низкое качество вашего JavaScript плохое.
<br/><br/>
### Пример: Анализ сложных методов с помощью CodeClimate (коммерческий)
![alt text](../../assets/images/codeanalysis-climate-complex-methods.PNG "Complex methods analysis")
### Пример: Тенденции и история анализа кода с CodeClimate (коммерческий)
![alt text](../../assets/images/codeanalysis-climate-history.PNG "Code analysis history")
### Пример: Сводка анализа кода и тенденции с SonarQube (коммерческий)
![alt text](../../assets/images/codeanalysis-sonarqube-dashboard.PNG "Code analysis history")
<br/><br/>