![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно назвать методы ?
Игорь Шевченко © (2005-12-15 13:01:00)Имеется объект с набором свойств и форма с набором контролов. Свойства объекта отображаются в контролах формы и заполняются содержимым контролов. Отображаются после вызова одного метода, заполняются после вызова другого.
Вопрос в том, как наиболее оптимально назвать эти методы, чтобы из названия однозначно было понятно, не глядя в реализацию, что эти методы делают. Методы планируется использовать в любой форме или иерархии форм, где требуется подобная функциональность, объекты и набор их свойств могут быть разными, формы и наборы контролов, сооотвественно, тоже.
Сейчас используются названия методов вида DisplayObject/FillObject,
но...неэстетично :) (с) известный анекдот
Джо (2005-12-15 15:14:00) [41]У меня в одном проекте похожая функциональность. Только что заглянул, у меня так:
procedure FillControlValues;
procedure ReadControlValues;
Lamer@fools.ua (2005-12-15 15:11:00) [42]>> Игорь Шевченко © (15.12.05 14:59) [30]
> Хотелось бы, чтобы имя метода начиналось с глагола, это верно, так как метод подразумевает действие, но не хотелось бы, чтобы имя повторяло код. Код должен разъяснять, как именно производится то действие, которое заложено в названии метода
К сожалению, мне неизвестно "как именно производится то действие, которое заложено в названии метода". Вам видней. :o)
Игорь Шевченко (2005-12-15 15:11:00) [43]DesWind © (15.12.05 15:07) [32]
ShowObject или DisplayObject пожалуй достаточно очевидно.
А вот FillObject не нравится. Эстетически. Не совсем очевидно из названия.
DesWind (2005-12-15 15:07:00) [44]
> Игорь Шевченко © (15.12.05 14:59) [30]
Я бы оставил Object или добавил по вкусу что-то вроде TragetObject и т.п.
Zeqfreed (2005-12-15 15:04:00) [45]Игорь Шевченко © (15.12.05 14:40) [27]
> К тому же ScatterControlProps я переведу, как
> "разбросать свойства контрола"
Ну, я бы так же перевел, точнее "разбросать св-ва контролов" :)
> что не совсем соответствует задаче метода.
Ну, насколько я понимаю, то есть некий объект, отвечающий за набор контролов. У него два метода: один назначает всем контролам, за которые отвечает объект, необходимые свойства; второй - запоминает их св-ва в себе? Если так, то я бы, скорее всего, остановился на варианте (Assign|Store)ControlsProps.
p.s.
Show( verb)
Definition:demonstrate
Synonyms:
afford, air, arrive, attend, bare, blazon, brandish, deal in, demonstrate, display, disport, exhibit, expose, flash, flaunt, flourish, hot dog, lay bare, lay out, mount, offer, parade, present, produce, proffer, put on, reveal, sell, set out, show off, showcase, sport, spread, stage, streak, submit, supply, trot out, unfold, unfurl, unveil, vaunt, wave around
Definition:exhibit
Synonyms:
appear, arrive, assert, be visible, blow in, clarify, come, demonstrate, determine, disclose, discover, display, divulge, elucidate, emerge, establish, evidence, evince, explain, get, get in, illustrate, indicate, instruct, lay out, loom, make known, make out, manifest, mark, materialize, note, ostend, point, present, proclaim, project, prove, reach, register, reveal, show face, show up, teach, testify to, turn up, unveil
:)
Игорь Шевченко (2005-12-15 14:59:00) [46]Lamer@fools.ua © (15.12.05 14:43) [28]
> не хотелось бы, чтобы имя повторяло код.
Точнее говоря, чтобы в названии метода было видно, не только что он должен делать, но и зачем.
Опять же, видя кучу методов у формы мне бы хотелось, не глядя в реализацию, тем более, что она может быть абстрактной, понять, что делает метод и нафига он вообще написан у формы. Хотелось бы, чтобы другому программисту потребовался бы минимум разъяснений для того, чтобы понять, как выполнить реализацию этого метода.
DesWind © (15.12.05 14:47) [29]
> Вполне логично и однозначно.
А вместо многоточия что будет ?
DesWind (2005-12-15 14:47:00) [47]Нет синонимов, по крайней мере, у меня в словаре. Чем не эстетично? Вполне логично и однозначно.
Lamer@fools.ua (2005-12-15 14:43:00) [48]SetObjectPropertiesToControls, GetObjectPropertiesFromControls
?
Игорь Шевченко (2005-12-15 14:40:00) [49]DesWind © (15.12.05 14:34) [26]
С этого и начал, только не Show, а Display
Не совсем эстетично, может, синонимы какие получше ?
Zeqfreed © (15.12.05 14:26) [25]
Не совсем понятно, для чегонадо Scatter/Gather. К тому же ScatterControlProps я переведу, как "разбросать свойства контрола", что не совсем соответствует задаче метода.
DesWind (2005-12-15 14:34:00) [50]
> Игорь Шевченко © (15.12.05 14:22) [24]
Fill..., Show...
Zeqfreed (2005-12-15 14:26:00) [51]Игорь Шевченко © (15.12.05 13:46) [18]
Ну, тогда варианты:
ScatterControlsProps
DistributeControlsProps
AssignControlsProps
ApplyControlsProps
? :)
Игорь Шевченко (2005-12-15 14:22:00) [52]
> "Сохранить/Восстановить""Наборы свойств контролов формы""В
> объект(хранилище)/Из объекта(хранилища)"
Нет. Мне не надо сохранять и восстанавливать. Мне надо отображать и заполнять.
Владислав (2005-12-15 14:00:00) [53]> Владислав © (15.12.05 13:59) [21]
Немного перемудрил с написанием сообщения :о)
umbra (2005-12-15 13:59:00) [54]ReadObjProps/WriteObjProps
Владислав (2005-12-15 13:59:00) [55]Алгоритм не будущее ;)
"Что сделать""С чем сделать""Как сделать"
в данном случае
"Сохранить/Восстановить""Наборы свойств контролов формы""В объект(хранилище)/Из объекта(хранилища)"
Я бы назвал:
LoadFormControlsProperties/SaveFormControlsProperties
поскольку: "объекты и набор их свойств могут быть разными".
Вариации на тему "Что сделать"
Load/Save, Restore/Store...
На тему "С чем сделать"
FormControlsProperties, FormControls, ControlsProperties...
На тему "Как сделать"
FromStorage/ToStorage, FromObject/ToObject
Я бы назвал:
LoadFormControlsProperties/SaveFormControlsProperties
"Как сделать" я опустил поскольку: "объекты и набор их свойств могут быть разными".
Игорь Шевченко (2005-12-15 13:57:00) [56]umbra © (15.12.05 13:52) [19]
Боюсь, что подобные названия действия вызывают некую противоестественную ассоциацию. Потому что Extract подразумевает выделение частичего-либо, но непонятно, нафига эта часть выделяется. Inject, опять же, подразумевает внедрение чего-то, непонятно чего, в объект.
Есть у меня форма с двумя десятками методов, среди них я обнаружил названные тобой. Я должен посмотреть в реализацию метода, чтобы увидеть, что именно он делает ? Судя по названию - должен. А не хотелось бы.
umbra (2005-12-15 13:52:00) [57]ExtractFromObj/InjectInObj
Игорь Шевченко (2005-12-15 13:46:00) [58]Zeqfreed © (15.12.05 13:42) [15]
Allocate подразумевает, что я что-то выделяю :) А я ничего не выделяю, я просто заполняю. Для отображения. Отсюда первое слово в моей версии было Display
umbra © (15.12.05 13:39) [14]
Да если бы я знал, что должно быть в названии, я бы не спрашивал. Объект произвольный (разумеется, для каждого конкретного метода свой конкретный объект или абстрактный предок для иерархии объектов). Разумеется, параметром метода будет объект.
umbra (2005-12-15 13:45:00) [59]ExtractData/InjectData
Zeqfreed (2005-12-15 13:44:00) [60]Zeqfreed © (15.12.05 13:42) [15]
Или лучше, наверно, StoreControlsProps во втором случае.