Запах кода 151 — закомментированный код

Новички боятся удалять код. И многие пожилые люди тоже.

TL;DR: Не оставляйте закомментированный код. Удаляйте его.

Проблемы

  • Читабельность

  • Мертвый код

  • Отсутствие покрытия

  • Отсутствие контроля версий исходных текстов

Решения

  1. Удалить закомментированный код

  2. Внедрить контроль исходных версий

Контекст

При отладке кода мы обычно комментируем код, чтобы посмотреть, что произойдет.

В качестве заключительного шага, после того как все наши тесты пройдут, мы должны удалить их, следуя практике чистого кода.

Образец кода

Неправильный

function arabicToRoman(num) {
  var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  var roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
  var result = '';

  for(var i = 0; i < decimal.length; i++) {
    // print(i)
    while(num >= decimal[i]) {
      result += roman[i];
      num -= decimal[i];
    }    
  }
  // if (result > 0 return ' ' += result)

 return result;
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Правильно

function arabicToRoman(arabicNumber) {
  var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1];
  var roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'];
  var romanString = '';

  for(var i = 0; i < decimal.length; i++) {
    while(arabicNumber >= decimal[i]) {
      romanString += roman[i];
      num -= decimal[i];
    }    
  }

 return romanString;
}
Войти в полноэкранный режим Выход из полноэкранного режима

Обнаружение

[X] Полуавтоматическое

Некоторые анализаторы машинного обучения могут обнаружить или разобрать комментарии и подсказать, как их удалить.

Теги

  • Комментарии

Заключение

Нам нужно удалить весь закомментированный код.

Отношения

Code Smell 75 — Комментарии внутри метода

Maxi Contieri ・ Jun 5 ’21 ・ 2 min read

#codenewbie #учебник #oop #программирование

Code Smell 05 — Злоупотребляющие комментариями

Maxi Contieri ・ Oct 24 ’20 ・ 2 min read

#codenewbie #учебник #новичкам

Рефакторинги

Рефакторинг 005 — Замените комментарий именем функции

Maxi Contieri ・ Jun 7 ・ 1 min read

#javascript #новичкам #рефакторинг #рефакторинг #программирование

Кредиты

Фото maxim bober on Unsplash


Не документируйте проблему, а устраняйте ее.

Атли Бьёргвин Оддссон

Великие цитаты о программной инженерии

Maxi Contieri ・ Dec 28 ’20 ・ 13 min read

#codenewbie #программирование #цитаты #программное обеспечение

Эта статья является частью серии CodeSmell.

Как найти зловонные части вашего кода

Maxi Contieri ・ May 21 ’21 ・ 7 min read

#codenewbie #учебник #качество кода #новички

Оцените статью
devanswers.ru
Добавить комментарий