Что особенного в именовании? И почему мы должны вообще заботиться об этом? Это просто имя.

Именованию переменных, методов, классов, пакетов и т. д. часто уделяется меньше внимания, чем оно того заслуживает. Очень часто мы сталкиваемся с такими именами, как i,j,k, или бессмысленными именами, такими как customerServicingProfileObjectUtil. Мы не считаем важным тратить несколько минут на то, чтобы придумать лучшие имена для компонентов нашей программы. Ведь это просто имя. Если мы не понимаем, что он делает, мы всегда можем просто прочитать код и разобраться.

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

  • Мы не понимаем обязанности этого компонента
  • Он имеет более одной ответственности

Таким образом, придумав хорошее имя, мы можем ясно увидеть проблемы и провести рефакторинг кода, чтобы сделать его более чистым. Это также помогает удобочитаемости нашего кода. Если мы видим метод с именем, раскрывающим намерение, нам не нужно копаться в этом методе, пытаясь понять, что он делает, что ускоряет понимание кода. В конце концов, мы пишем код для того, чтобы его поняли другие люди.

Еще один запах плохого кода — это когда нам приходится использовать комментарии для описания компонента вместо его имени. Вместо этого мы можем просто переименовать компонент с осмысленным именем, чтобы избежать необходимости в этом комментарии.

Пример от Роберта С. Мартина в его книге «Чистый код»:

Вместо int d; // elapsed time in days используйте int elapsedTimeInDays

Когда мы правильно называем компоненты, мы лучше понимаем их, мы понимаем, что они могут находиться в разных местах. По сути, мы лучше рефакторим код.