Недавно выбирали имя сыну, это оказалось не так просто, как может показаться. Но еще сложнее — дать нормальное имя таблице, скрипту, атрибуту, каталогу, чарту, потому что:
1. обычно у вас нет много времени на размышления
2. все очевидные варианты уже заняты
Короче, эта проблема важнее, чем о ней принято думать. Если в команде нет устоявшихся правил нейминга для тех или иных сущностей, то в итоге названия берутся по вдохновению. В лучшем случае через 4 месяца они останутся понятны хотя бы для вас, в худшем — придется крутить спиритическую доску, чтобы разобраться, что скрывается под ранее придуманным вами или еще хуже — кем-то другим — названием.
Впервые столкнулся с этим на прошлом месте работы, где таблица с важными данными могла называться просто lil_pump (да, в честь репера) и ее истинный смысл знал только один коллега, которому lil_pump достался в наследство от ушедшего сотрудника. Я думал, что в будущем не повторю таких ошибок.
Как бы не так.
Конечно, мои названия были без таких приколов, но они все еще не достигли нужной степени очевидности для коллег. Все это стало мне понятно перед отпуском, когда нужно было передать дела на три недели моего отсутствия.
Почему так произошло?
1. Я давал названия, которые могли быть понятны тому, кто знал контекст. Но знал его только я. И со временем даже я стал его забывать.
2. Некоторые названия давались по принципу "это для теста" или "это временное решение, потом поменяю". Никакого потом не существует.
3. Использовал не самые очевидные сокращения.
Пришлось повозиться, чтобы привести все в надлежащий вид.
Как этого можно было избежать?
1. Составить правила нейминга для объектов, с которыми работаешь. Записать их, следовать им.
Здесь многое зависит от того, с чем вы чаще всего работаете, но постарайтесь прописать как можно больше деталей. Например, использовать snake_case или camelCase, когда использовать общепринятые префиксы — tmp_, rep_, agg_ и тд., запрет абстракций вроде data_final, использовать осмысленные названия, а не абстрактные — customer_id вместо id или col1.
2. Если трудно дать имя, которое понятно без контекста — кратко дать контекст в имени.
Например: поскольку в ворбуках Даталенс чарты идут сплошняком и нельзя понять, что за чарт, если не зайти в него, то указание страницы чарта позволяло быстро найти нужный — СТР2| Средний чек по месяцам
3. Если кратко дать контекст невозможно — добавить комментарий или README.
4. Перед сохранением обязательно спросить себя:
— Поймёт ли это название другой человек без контекста?
— Не противоречит ли оно правилам?
— Не придётся ли его переименовывать через месяц?
В будущем этот список наверняка пополнится, когда я соберу новые шишки.
А у вас были проблемы с неймингом? Какое название было самым непонятным и диковинным за время вашей работы с данными?