|
@@ -0,0 +1,49 @@
|
|
|
+
|
|
|
+## Идентификация "Code smells" (признаков плохого кода) и их устранение.
|
|
|
+
|
|
|
+## Что такое code smells.
|
|
|
+**Code smells**- это категории проблем в коде, которые могут привести к серьезным проблемам. Они похожи на предупреждающие индикаторы, которые возникают из за неправильных методов программирования.
|
|
|
+## Виды и признаки code smells и способы их устранения.
|
|
|
+
|
|
|
+ 1. **Длинные функции**.
|
|
|
+Признак: функция содержит большое количество строк кода и выполняет несколько операций.
|
|
|
+Решение: разбейте длинную функцию на несколько меньших функций, каждый из которых выполняет только одно действие. Это упрощает проверку, повышает понятность и делает код более организованным.
|
|
|
+ 2. **Дублированный код.**
|
|
|
+Признак: наличие одинакового или схожего кода в различных частях проекта.
|
|
|
+Решение: вынесите повторяющийся код в отдельную функцию, модуль или класс. Это сократит объем кода и облегчит его поддержку.
|
|
|
+ 3. **Магические числа.**
|
|
|
+Признак: в коде используются неочевидные числовые значения, которые трудно интерпретировать.
|
|
|
+Решение: замените числа константами с говорящими именами, чтобы было понятно, что они означают.
|
|
|
+ 4. **Большие классы.**
|
|
|
+Признак: класс, содержащий большое количество полей и методов, выполняющих множество различных задач.
|
|
|
+Решение: примените принцип единственной ответственности (SRP) и разделите класс на несколько более маленьких классов, каждый из которых отвечает за свою конкретную задачу.
|
|
|
+ 5. **Лишние комментарии.**
|
|
|
+Признак: комментарии необходимы для пояснения кода, а не для добавления контекста.
|
|
|
+Решение: вместо написания комментариев, улучшите код так, чтобы он был понятен без дополнительных объяснений. Используйте понятные имена переменных и функций, которые отражают логику кода.
|
|
|
+ 6. **Неиспользуемый код.**
|
|
|
+Признаком является код, который не используется и не выполняется.
|
|
|
+Для решения этой проблемы необходимо избавиться от всех неиспользуемых переменных, функций или классов, чтобы код оставался чистым и понятным.
|
|
|
+ 7. **Сложные условные выражения.**
|
|
|
+Признаком являются сложные условные выражения, которые трудно читать и понимать. Для улучшения читаемости и облегчения отладки следует разделить сложное условие на несколько логических блоков, используя понятные имена для промежуточных переменных или функций.
|
|
|
+ 8. **Длинные списки параметров.**
|
|
|
+Признак: функции с избыточным количеством аргументов, которые затрудняют понимание и использование.
|
|
|
+Решение: используйте объекты для объединения связанных параметров, или рассмотрите возможность передачи объекта, содержащего все необходимые данные
|
|
|
+ Это всего лишь несколько примеров code smells, с которыми часто сталкиваются программисты. Важно знать об этих "неприятностях" и устранять их, чтобы улучшить общее качество кодовой базы. Путем выявления и рефакторинга, разработчики могут улучшить удобство сопровождения, читаемость и производительность своего программного обеспечения.
|
|
|
+
|
|
|
+## Заключение.
|
|
|
+ Code Smells является важным индикатором проблем в структуре и дизайне программного обеспечения. Они помогают разработчикам выявлять участки кода, требующие внимания и возможного рефакторинга. Устранение ошибок способствует улучшению читаемости, поддерживаемости и надежности кода, а также снижает риск возникновения ошибок в будущем.
|
|
|
+## Литература.
|
|
|
+https://dzen.ru/a/ZyS_1sbOXx7vL-jV
|
|
|
+
|
|
|
+## Вопросы.
|
|
|
+ 1. Что такое "Code Smells"?
|
|
|
+ 2. Назовите основные виды "Code Smells". Какие из них вы считаете наиболее распространенными?
|
|
|
+ 3. Каковы преимущества устранения "Code Smells"?
|
|
|
+ 4. Приведите пример ситуации, когда "Code Smell" привел к серьёзной проблеме в вашем проекте. Как вы решили эту проблему?
|
|
|
+ 5. Как регулярное выявление и устранение "Code Smells" влияет на продуктивность команды разработки?
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|