2010-04-25 11 views
6

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

Например, если у меня есть класс MyClass, то новый класс можно назвать что-то вроде MyClassAdapter, MyClassCalculator, MyClassDispatcher, MyClassParser, ...

Это новое имя, конечно, должны представлять поведение класса и в идеале будет таким же, как шаблон проектирования, в котором он используется (адаптер, декоратор, фабрика, ...). Но поскольку мы не злоупотребляем шаблонами проектирования, это не всегда решение :)

Знаете ли вы, что для словаря или списка общих слов, которые мы можем использовать для представления поведения класса, содержащего краткое описание ожидаемого поведения? Некоторые примеры: репликатор, тень, токен, акцептор, рабочий, картограф, драйвер, ведро, сокет, валидатор, обертка, синтаксический анализатор, верификатор, ...

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

+0

Вебстер очень хороший словарь. Попробуйте это. –

+0

Я почти собирался предложить FOLDOC (по адресу http://foldoc.org) из-за названия вопроса (но, несмотря на то, что он является вычислительным словарем и интересным ресурсом, это не то, о чем просят). – stakx

ответ

0

Я думаю, что довольно странно пытаться отразить (или обозначить или предложить или означать или подразумевать) поведение класса от его имени. Разумеется, поведение класса определяется его методами?

Я также думаю, что ваших используя мой словаря может потребовать от вас, чтобы подписаться на мой образ мышления о мире. Даже если мы работаем в одной и той же проблемной области (и я уверен, что нет), я не думаю, что вам это будет легко.

Я предлагаю, чтобы вы делали то, что вы почти предлагаете себе: выведите свой словарь из терминологии проблемного домена. Это упражнение поможет вам в понимании домена.

Наконец, вместо словаря вам может быть лучше достичь тезауруса.

+4

Ну, есть * общие идиомы для имен классов (и методов), и это обычно * хорошая вещь (думаю, шаблоны проектирования), чтобы облегчить кривую обучения нового API. –

2

Я бы рекомендовал не использовать шаблоны дизайна в именах. Вы начали с имени MyClass и расширили его до MyClassAdapter, MyClassCalculator, MyClassDispatcher, MyClassParser и т. Д.

Но поскольку вы знаете, что это классы, и они за вами, почему бы вам не адаптироваться, калькулятор, диспетчер, парсер.

Но действительно ли Адаптер делает то, что он говорит? Калькулятор вычисляет абсолютно все, или есть определенная работа?

Хорошие имена могут быть WindowToCommProtocol (имя, что он адаптирует), расчет заработной платы (расчет - это только одна задача), UICentral (звучит как диспетчер для меня) и т. Д. Калькуляторы и парсеры обычно не должны сохранять состояние после того, так что они звучат скорее как функции, а не классы.

 Смежные вопросы

  • Нет связанных вопросов^_^