Нейминг
There are only two hard things in Computer Science: cache invalidation and naming things — Phil Karlton.
Про инвалидацию кэша поговорим как-нибудь в другой раз, сейчас про именование методов.
Всякие банальности наверно говорить не стоит: и так понятно, что метод f()
- вообще донное название, переменная должна быть существительным, метод - глаголом.
Базовые советы неплохо расписаны в этой статье (которая у нас висит на заглавной странице Redmine, если кто не помнит).
Недавно на хабре подняли еще один вопрос про нейминг. https://habr.com/ru/post/484860/. Суть примерно такова - не надо в названии отражать, как функция работает. Надо писать, что полезного она делает.
Вообще, у нас в отделе вопрос нейминга решается обычно так:
- Попробуй назвать сам. Если совсем туго - возможно нарушен SRP или другая практика, код надо отрефакторить.
- Попроси помочь старшего друга, но хотя бы 2-3 варианта предложи сам.
- Спроси команду. “Если хочешь что-то понять - объясни другому”. Если объясняешь человеку, который не в контексте - то, во-первых, сам сконцентрируешься на важном и лучше поймешь, что делает функция, во-вторых, незамыленный взгляд/слух способствует новым идеям и/или объективному подходу к теме.
- Совсем тяжелые случаи выносим на голосование.