Имя функции для создания чего-либо, если его еще нет - PullRequest
4 голосов
/ 06 августа 2009

Время от времени я пишу функцию, которая просто создает что-то, если его еще нет, а в противном случае ничего не делает.
Такие имена, как CreateFooIfNecessary() или EnsureThereIsAFoo() работают, но они кажутся немного неуклюжими.

Можно также сказать GetFoo(), но это имя на самом деле не означает, что foo может быть создано первым, и это работает, только если функция возвращает дескриптор / указатель / ссылку на foo.

Могут ли те из вас, кто более знаком с английским языком, придумать лучший способ назвать эти функции?

Ответы [ 13 ]

0 голосов
/ 03 марта 2012

Мне нравится ForceFoo. В вашей ситуации это будет EnforceExistanceOfFoo или ForceGetFoo.

0 голосов
/ 06 августа 2009

В моем классе Foo у меня будет GetExistingOrNew (идентификатор Guid) Это вернет существующий Foo, если он существует, или вернет новый Foo.

0 голосов
/ 06 августа 2009

Серьезно:

issetFoo();

Принимая мочу:

AreWeThereYetFoo(); helloFoo(); booFoo();
...