Реальная история. Программист создал иерархию классов, которые делают некоторую обработку входных данных, функцию для применения обработчиков к данным назвал В контексте программы с тем же успехом можно было бы назвать функции так: Как читать исходный код, в котором все ключевые для понимания кода слова никак не ассоциируются с тем, что они обозначают? Как, глядя на названия функций понять, какая из них захреначивает то, что нужно - После переименования имена функций выглядят примерно так:
Внимательный читатель должен тут сказать: стоп, а как же слово "Special"? Оно ведь тоже абстрактное! Ну, на самом слово "Special" в названии пока что просто не удалось до конца понять и перевести в конкретное понятие - ведь этот район кода, написанный для настоящих героев анализа, изучался всего несколько дней. Как только будет найдено правильное слово - оно там будет вписано. Из этой истории следует такой совет: Например: Вот ещё из реальной жизни: Если названия классов отображают их предназначение, то слова вроде "Interface", "Implementation" выглядят уже излишними. С другой стороны, ни в коем случае нельзя упускать те слова, которые точно объясняют предназначение. Помните, что изобилие абстракций не только делает код абсолютно нечитабельным, но и способно полностью выбить из головы программиста оконечную цель его работы!
Tags: Программирование.
Archives
|