Я достаточно нормально отношусь к именованиям методов и классов. Имя просто должно быть понятным и отражать суть. Но вот что меня бесит, так это имена типа EnhancedMethod. Был раньше просто Method, а теперь стал EnhancedMethod.
А через год, когда поймут что текущий метод не очень хороший будут создавать EnhancedMethod2 или может EnhancedEnhancedMethod?
Слова паразиты типа Enhanced или New должны быть исключены при именовании. Нужно быть более креативным.
Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым
Креативным как создатели Spring'а, в котором название класса меньше 20 букв это несерьзно, типа InternalResourceViewResolver
Дмитрий, а что тебя смущает? Это ты еще не видел названия тестов, например как "whenDivideByZeroThenThrowException" =)
Похожее название помогает с портированием. Амазон в своих библиотеках спокойно дописывает _v2 в новых версиях методов.
Просто добавление 2 или v2 я еще могу понять, хотя тоже не очень люблю такое. Нумерация версий лучше, чем enhanced, поэтому практически все нумеруют классы и методы, когда это необходимо
Либо изменение сигнатуры, либо поведение.
Встречал картину когда v2 метод появлялся, и при этом v1 моментально становился deprecated, с последующим уходом в следующей major версии. Тот факт что название похожее - легко заметить обновленный метод в документации и в нужный момент мигрировать.
WinApi видели? CreateWindow, CreateWindowA, CreateWindowW, CreateWindowEx...
Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.