![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно назвать методы ?
Игорь Шевченко © (2005-12-15 13:01:00)Имеется объект с набором свойств и форма с набором контролов. Свойства объекта отображаются в контролах формы и заполняются содержимым контролов. Отображаются после вызова одного метода, заполняются после вызова другого.
Вопрос в том, как наиболее оптимально назвать эти методы, чтобы из названия однозначно было понятно, не глядя в реализацию, что эти методы делают. Методы планируется использовать в любой форме или иерархии форм, где требуется подобная функциональность, объекты и набор их свойств могут быть разными, формы и наборы контролов, сооотвественно, тоже.
Сейчас используются названия методов вида DisplayObject/FillObject,
но...неэстетично :) (с) известный анекдот
Игорь Шевченко (2005-12-15 18:14:00) [21]umbra © (15.12.05 18:06) [54]
> А чем плохо сочетание ReadSomeThing/WriteSomething?
Тем, что неочевидно без дополнительного просмотра кода. А глядя на абстрактное объявление и вовсе потеряешься.
umbra (2005-12-15 18:06:00) [22]А чем плохо сочетание ReadSomeThing/WriteSomething?
umbra (2005-12-15 18:04:00) [23]
> Вот и мне слово Fill не нравится.
Populate
Игорь Шевченко (2005-12-15 18:03:00) [24]
> DisplayObjectProperties/StoreObjectProperties
Все-таки Display и Store не совсем антонимы. Вот если бы Load и Store, тогда да, тогда можно бы рассмотреть. А действия этих методов предполагаются более или менее противоположные, по крайней мере, по направлению данных :)
Кроме того, на мой взгляд, DisplayObjectProperties это то, чем Object Inspector занимается :)
Vlad (2005-12-15 17:58:00) [25]
> Игорь Шевченко ©
Если речь идет только о Properties объекта, я бы назвал DisplayObjectProperties/StoreObjectProperties. По-моему яснее некуда :-)
А ShowObjectData может подразумавать не только свойства, но и любые другие данные этого объекта :-)
Хотя, на вкус и цвет...
Игорь Шевченко (2005-12-15 17:53:00) [26]Альф (15.12.05 17:26) [49]
> Заполнить объект ? - он что бочка что его заполнять
Вот и мне слово Fill не нравится.
> Насколько я понял то по-русски это будет звучать так "ПеренестиЗначенияПолейВЭлементыОтображения"
> и обратно...
Нет. Это аналогично комментарию "прибавить 1 к I" в строке кода Inc(I)
Альф (2005-12-15 17:26:00) [27]Заполнить объект ? - он что бочка что его заполнять (хотя каюсь ... сам грешу использованием Fill)
Зачем употреблять вообще это слово ? ведь сам экземпляр уже поразумевает объектимя обекта.действие.
Насколько я понял то по-русски это будет звучать так "ПеренестиЗначенияПолейВЭлементыОтображения" и обратно...
Для полей допустимо использовать Fields, Props(если все в published), Values(менее очевидно)
"ЭлементыОтображения" - наиболее очевидное Controls, Components
"Перенести" = Set/Get или же To/From
В результате получается несколько вариантов типа
PropsToComponents / PropsFromComponents
Lamer@fools.ua (2005-12-15 17:23:00) [28]>> Игорь Шевченко © (15.12.05 16:49) [43]
Теперь понял. Как по мне, то понятно, что SetObjectPropertiesToControls, например, устанавливает значения в контролах не просто так, а для отображения. Но если подходить с Вашей "стороны", то имена в [0] подходят, IMHO.
Игорь Шевченко (2005-12-15 17:18:00) [29]Скорее всего, будет использоваться что-то вроде ShowObjectData (AnObject: TSomeKindOfObject)/FillObjectData (AnObject: TSomeKindOfObject).
Не совсем нравится, но ближе к тому, что хотелось бы получить.
umbra (2005-12-15 17:17:00) [30]ShowObjProps/FillObjProps
BiN (2005-12-15 17:09:00) [31]Show...
Set...
Get...
DataSourceProperties
или
SourceObjectProperties
Альф (2005-12-15 17:03:00) [32]Игорь, а может попробовать назвать эти методы сначала по-русски ? а потом просто подобрать аналогию из того набора глаголов что есть в VCL ?
Игорь Шевченко (2005-12-15 16:49:00) [33]Lamer@fools.ua © (15.12.05 16:27) [42]
Я бы хотел, чтобы из названия следовало "для отображения" и "для заполнения", ведь установка/чтение свойств это не главная задача, а способ.
Lamer@fools.ua (2005-12-15 16:27:00) [34]>> Игорь Шевченко © (15.12.05 15:24) [37]
> Не "как именно", а "для чего именно"
Для установки/чтения свойств? Или я ошибаюсь?
clickmaker (2005-12-15 16:09:00) [35]
> Zeqfreed © (15.12.05 15:47) [39]
тоже вариант :)
но тогда надо компилить это все в Suspicious.exe
и рассылать всем по мылу :))
Anatoly Podgoretsky (2005-12-15 15:47:00) [36]По стилю Борланд, методы должны начинатьс с глагола-действия и далее может фигурировать существительное-субжект.
Имя должно быть само документированым.
Для методов манипулирующими со свойства приняты следующее соглашение
Get/Set имя свойства.
Zeqfreed (2005-12-15 15:47:00) [37]clickmaker © (15.12.05 15:30) [38]
SuspiciousMethod(const Action : String);
{
"Fill on-form controls' properties using data stored in object"/"Store on-form controls' properties in the object for further usage"
}
? :))
clickmaker (2005-12-15 15:30:00) [38]FormDataExchange(var From: boolean, ...); // true - в объект, false - в контрол
Игорь Шевченко (2005-12-15 15:24:00) [39]Владислав © (15.12.05 15:15) [36]
> А то придется другому программисту использовать несколько
> словарей и привлекать коллективный разум для выяснения назначения
> методов :)
А вот например, возьмем VCL - часто приходится коллективный разум и несколько словарей использовать ? Или в Help лазить только для того, чтобы понять, нафига тот или иной метод нужен ?
> А KISS нынче совсем не в моде?..
Не, не в моде. Я тут в одном из постов цитату Фаулера привел, которой стараюсь следовать.
Lamer@fools.ua © (15.12.05 15:11) [34]
> К сожалению, мне неизвестно "как именно производится то
> действие, которое заложено в названии метода".
Прошу прощения, ошибся. Не "как именно", а "для чего именно"
Владислав (2005-12-15 15:15:00) [40]Игорь, не переусердствуйте ;)
А то придется другому программисту использовать несколько словарей и привлекать коллективный разум для выяснения назначения методов :)
P.S.: А KISS нынче совсем не в моде?..