Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Как правильно назвать методы ?   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2005-12-15 15:47) [40]

По стилю Борланд, методы должны начинатьс с глагола-действия и далее может фигурировать существительное-субжект.
Имя должно быть само документированым.
Для методов манипулирующими со свойства приняты следующее соглашение
Get/Set имя свойства.


 
clickmaker ©   (2005-12-15 16:09) [41]


> Zeqfreed ©   (15.12.05 15:47) [39]

тоже вариант :)
но тогда надо компилить это все в Suspicious.exe
и рассылать всем по мылу :))


 
Lamer@fools.ua ©   (2005-12-15 16:27) [42]

>>Игорь Шевченко ©   (15.12.05 15:24) [37]

>Не "как именно", а "для чего именно"
Для установки/чтения свойств? Или я ошибаюсь?


 
Игорь Шевченко ©   (2005-12-15 16:49) [43]

Lamer@fools.ua ©   (15.12.05 16:27) [42]

Я бы хотел, чтобы из названия следовало "для отображения" и "для заполнения", ведь установка/чтение свойств это не главная задача, а способ.


 
Альф   (2005-12-15 17:03) [44]

Игорь, а может попробовать назвать эти методы сначала по-русски ? а потом просто подобрать аналогию из того набора глаголов что есть в VCL ?


 
BiN ©   (2005-12-15 17:09) [45]

Show...
Set...
Get...

     DataSourceProperties
или
     SourceObjectProperties


 
umbra ©   (2005-12-15 17:17) [46]

ShowObjProps/FillObjProps


 
Игорь Шевченко ©   (2005-12-15 17:18) [47]

Скорее всего, будет использоваться что-то вроде ShowObjectData (AnObject: TSomeKindOfObject)/FillObjectData (AnObject: TSomeKindOfObject).

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


 
Lamer@fools.ua ©   (2005-12-15 17:23) [48]

>>Игорь Шевченко ©   (15.12.05 16:49) [43]

Теперь понял. Как по мне, то понятно, что SetObjectPropertiesToControls, например, устанавливает значения в контролах не просто так, а для отображения. Но если подходить с Вашей "стороны", то имена в [0] подходят, IMHO.


 
Альф   (2005-12-15 17:26) [49]

Заполнить объект ? - он что бочка что его заполнять (хотя каюсь ... сам грешу использованием Fill)
Зачем употреблять вообще это слово ? ведь сам экземпляр уже поразумевает объект имя обекта.действие.

Насколько я понял то по-русски это будет звучать так "ПеренестиЗначенияПолейВЭлементыОтображения" и обратно...
Для полей допустимо использовать Fields, Props(если все в published), Values(менее очевидно)
"ЭлементыОтображения" - наиболее очевидное Controls, Components
"Перенести" = Set/Get или же To/From
В результате получается несколько вариантов типа

PropsToComponents / PropsFromComponents


 
Игорь Шевченко ©   (2005-12-15 17:53) [50]

Альф   (15.12.05 17:26) [49]


> Заполнить объект ? - он что бочка что его заполнять


Вот и мне слово Fill не нравится.


> Насколько я понял то по-русски это будет звучать так "ПеренестиЗначенияПолейВЭлементыОтображения"
> и обратно...


Нет. Это аналогично комментарию "прибавить 1 к I" в строке кода Inc(I)


 
Vlad ©   (2005-12-15 17:58) [51]


> Игорь Шевченко ©  

Если речь идет только о Properties объекта, я бы назвал DisplayObjectProperties/StoreObjectProperties. По-моему яснее некуда :-)
А ShowObjectData может подразумавать не только свойства, но и любые другие данные этого объекта :-)
Хотя, на вкус и цвет...


 
Игорь Шевченко ©   (2005-12-15 18:03) [52]


> DisplayObjectProperties/StoreObjectProperties


Все-таки Display и Store не совсем антонимы. Вот если бы Load и Store, тогда да, тогда можно бы рассмотреть. А действия этих методов предполагаются более или менее противоположные, по крайней мере, по направлению данных :)

Кроме того, на мой взгляд, DisplayObjectProperties это то, чем Object Inspector занимается :)


 
umbra ©   (2005-12-15 18:04) [53]


> Вот и мне слово Fill не нравится.

Populate


 
umbra ©   (2005-12-15 18:06) [54]

А чем плохо сочетание ReadSomeThing/WriteSomething?


 
Игорь Шевченко ©   (2005-12-15 18:14) [55]

umbra ©   (15.12.05 18:06) [54]


> А чем плохо сочетание ReadSomeThing/WriteSomething?


Тем, что неочевидно без дополнительного просмотра кода. А глядя на абстрактное объявление и вовсе потеряешься.


 
umbra ©   (2005-12-15 18:18) [56]

нет, я спрашивал про глаголы, а something дописал, чтобы показать, что после глаголов еще что-то будет

ReadObjectProperties/WriteObjectProperties


 
Гаврила ©   (2005-12-15 18:19) [57]

ObjectToControl
ControlToObject


 
Vlad ©   (2005-12-15 18:28) [58]


> Игорь Шевченко ©   (15.12.05 18:03) [52]

Резонно, хотя в смысле направлений Display и Store как раз прямо противоположны :-)
C сохранением есть еще вариант ApplyObjectData


 
Джо ©   (2005-12-15 18:33) [59]

А может, имеет смысл сделать вместо двух методов -- одно свойство-триггер?


 
Игорь Шевченко ©   (2005-12-15 18:36) [60]

Гаврила ©   (15.12.05 18:19) [57]

Контролов много :)

И эта..хотелось бы, согласно Programming style guide имена методов с глаголов начинать.

Vlad ©   (15.12.05 18:28) [58]

Собственно, сохранения, как такового нету. Просто заполнение (откуда, собственно, тяготение к глаголу Fill), свойств(данных) объекта из контролов. Хотелось бы обойтись без искусственных аналогий, вроде такой, что заполнение контролов на форме из объекта - это загрузка, а заполнение объекта из контролов - это сохранение. Если бы я считал уместным такие аналогии, то я и вопроса бы не задавал :)


 
Leonid Troyanovsky ©   (2005-12-15 18:40) [61]


> Игорь Шевченко ©   (15.12.05 13:01)  
> Имеется объект с набором свойств и форма с набором контролов.
>  Свойства объекта отображаются в контролах формы и заполняются
> содержимым контролов.


А почему это некий объект, а не TComponent?
Как там у него с Notification ? ;)

Ну, а плясать, видимо, нужно от имени этого компонента,
а уж в его действиях будут, видимо, SetControlsPropsForForm,
и GetControlsPropsForForm.
Хотя, на ум сразу приходит, что это должны быть некие
свойства компонента, с побочным действием, скажем, write
которого будут установка требуемых свойств контрола(ов) и др.
Ведь, похоже, что этот компонент должен что-то централизовать.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2005-12-15 18:49) [62]


> Джо ©   (15.12.05 18:33) [59]
> А может, имеет смысл сделать вместо двух методов -- одно
> свойство-триггер?


Вот-вот, я тоже про то же, уже вдвое меньше думать ;)

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

--
Regards, LVT.


 
Игорь Шевченко ©   (2005-12-15 18:51) [63]

Leonid Troyanovsky ©   (15.12.05 18:40) [61]

Не совсем понимаю, причем здесь Notification. Мне нужно редактировать часть свойств(данных) некоего объекта путем некой формы :) Для этого я, как простой советский программист, сначала значениями свойств заполняю соответствующие контролы на форме, а потом считываю из контролов измененные значения. Для методов формы, которые делают эти действия, хочу подобрать имена :)


 
Джо ©   (2005-12-15 18:53) [64]


>  [63] Игорь Шевченко

А можно уничтожительный комментарий по поводу [35] Джо? ;)


 
Leonid Troyanovsky ©   (2005-12-15 18:58) [65]


> Игорь Шевченко ©   (15.12.05 18:51) [63]

> Не совсем понимаю, причем здесь Notification. Мне нужно
> редактировать часть свойств(данных) некоего объекта путем
> некой формы :) Для этого я, как простой советский программист,
>  сначала значениями свойств заполняю соответствующие контролы
> на форме, а потом считываю из контролов измененные значения.
>  Для методов формы, которые делают эти действия, хочу подобрать
> имена :)


А я как, раз понял с точностью наооборот :)

Ну, а тогда, чего ты мучаешься - берешь TPropertyEditor
и сочиняешь по его образцу.

--
Regards, LVT.


 
Джо ©   (2005-12-15 19:09) [66]

Возможно, я неправильно понял ситуацию, поэтому показываю, как я ее понял. Иллюстрирую куском из своего проекта.
Возможно, это и лишнее.


 {Данный интерфейс обеспечивает создание}
 {и управление формами, загруженными из ресурсов DFM}

 IDynaForm = interface
   function LoadForm (const AClassName: WideString): Boolean;
   function ShowModal: Integer;

   procedure AddVariable (const AControlAndProperty: WideString;
     const VarType,PropType: TVarType; VarPtr: Pointer);stdcall;

   procedure FillControlValues; stdcall;
   procedure ReadControlValues; stdcall;

   ...
 end;



Используется так:
var
 Form: IDynaForm;
 ADistance: Double;
 AName: string;
...
 Form := // получаем имплементацию интерфейса

 // грузим форму из ресурса
 Form.LoadForm ("TMyForm");
 try
   // регистрируем связь между свойствами контроллов на форме
   // и переменными (полями)
   // с указанием типов свойств и переменных и автоматической трансляциех их значений
   Form.AddVariable ("edDistance.Text", vtDouble, vtString, @ADistance);
   Form.AddVariable ("edName.Text", vtString, vtString, @AName);
   ...
   // заполняем свойства контроллов значениями из переменных
   Form.FillControlValues;

   if Form.ShowModal = mrOk then
   begin
     // значения свойств контроллов автоматически заносятся
     // в соответствующие им переменные
     ReadControlValues;
   end;
 finally
   Form.UnloadForm;
 end;


 
GuAV ©   (2005-12-15 20:06) [67]

InitializeControlsData - заполняет контролы
ApplyControlsData - применяет данные контролов


 
Sergey Masloff   (2005-12-15 20:20) [68]

StoreUserInput/UpdateView


 
Kolan ©   (2005-12-15 20:52) [69]

ShowObjectProperties

FillObjectProperties


 
Владислав ©   (2005-12-16 09:20) [70]

А у этих методов есть параметры? Если да, можно увидеть объявление?


 
Игорь Шевченко ©   (2005-12-16 10:34) [71]

Джо ©   (15.12.05 18:53) [64]
GuAV ©   (15.12.05 20:06) [67]
Kolan ©   (15.12.05 20:52) [69]

Не хотелось бы видеть названия методов в стиле комментария
Inc(I); //Прибавить единицу к I

Поясню ситуацию еще раз: хотелось бы, чтобы потенциально любой программист, глядя исключительно на объявления методов, мог бы понять, как ему их надо реализовать, что они делают и с какой целью.

Владислав ©   (16.12.05 09:20) [70]

Методы у формы, параметр один - объект, свойства (данные) которого надо отображать и, соответственно, заполнять значениями из контролов.


 
umbra ©   (2005-12-16 10:41) [72]

ReadObjPropsValues/AssignObjPropsValues


 
Владислав ©   (2005-12-16 11:12) [73]

ShowObjectData/ReplaceObjectData
ShowObjectData/UpdateObjectData
ShowObject/UpdateObject


 
Игорь Шевченко ©   (2005-12-16 11:18) [74]

Владислав ©   (16.12.05 11:12) [73]

Вот-вот, что-то в таком духе и интересует. С первым методом (из объекта в форму) как раз понятно, или
ShowObject[Data] или DisplayObject[Data]
со вторым пока мучительный выбор между Fill и Update


 
Владислав ©   (2005-12-16 11:26) [75]

Update не нравиться, потому что он встречается в других местах в ином назначении? :)



Страницы: 1 2 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.63 MB
Время: 0.032 c
9-1123607260
Yegorchic
2005-08-09 21:07
2006.01.22
А загрузить .max файл через GLScene нельзя?


6-1129284740
ZEWS
2005-10-14 14:12
2006.01.22
Помогите TWebBrowser


2-1136105211
JemCarry
2006-01-01 11:46
2006.01.22
Проблемка с циклом


14-1135688727
Ale_x_ey
2005-12-27 16:05
2006.01.22
Виртуальная машина


2-1135979978
Giga
2005-12-31 00:59
2006.01.22
Помогите разобраться с Memo