2016-09-28 12 views
0

У меня есть класс следующим образомимя класса предложения для класса полный контейнеров

class Package 
{ 
    list<string> targetList; 
    list<string> excludedList; 
    map<string, string> mapping; 
}; 

Я буду использовать структуры данных типа, Пакет, содержащийся в нескольких других классов, которые могут потребовать, чтобы вычислить дополнительная информация на основе этого входПакет Р

Например, обработчик, который ч как экземпляр Р пакета, возможно, потребуется сделать TargetList = TargetList - {TargetList^excludedList} и после вычитания пересечение может сопоставить каждый TargetList строку отображения новой строки WRT .

С такими именами, как Package, Input, InputCollection, Collection, кто-то другой, читающий мой код, не сможет понять, что он может содержать. Я ищу хорошие предложения для имен, так как получение правильного имени кажется самодокументированным.

ответ

-1

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

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

Будьте максимально конкретным для своего домена или алгоритма.

Может быть, это помогает вам: http://www.itiseezee.com/?p=83

Просто вынуть одно эмпирическое правило:

Читатели не должны мысленно переводить свои имена в другие имена они уже знают/знакомы с , Эта проблема обычно возникает из-за выбора использовать НИЖЕ условия для проблемной области, а не терминов для решения (см. Далее ниже, в проблемной области и ).