Bläddra i källkod

Merge branch 'master' of http://213.155.192.79:3001/ypv/ISRPO

ypv 3 månader sedan
förälder
incheckning
d0f145f475
2 ändrade filer med 49 tillägg och 0 borttagningar
  1. BIN
      6728c08efb9773ee03debe7c15a3e3aa-800x.jpg
  2. 49 0
      Носова Code smells.md

BIN
6728c08efb9773ee03debe7c15a3e3aa-800x.jpg


+ 49 - 0
Носова Code smells.md

@@ -0,0 +1,49 @@
+
+## Идентификация "Code smells" (признаков плохого кода) и их устранение.
+
+## Что такое code smells.
+**Code smells**- это категории проблем в коде, которые могут привести к серьезным проблемам. Они похожи на предупреждающие индикаторы, которые возникают из за неправильных методов программирования. 
+## Виды и признаки code smells и способы их устранения.
+![enter image description here](https://theslide.ru/img/thumbs/6728c08efb9773ee03debe7c15a3e3aa-800x.jpg)
+ 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" влияет на продуктивность команды разработки?
+
+
+
+  
+
+