Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.61 MB
Время: 0.04 c
2-1136153627
mr.Evil
2006-01-02 01:13
2006.01.22
Как удалить запись из потомка TFileStream


14-1135836098
Тульский
2005-12-29 09:01
2006.01.22
Очень смеялся


14-1135408901
Yuri Btr
2005-12-24 10:21
2006.01.22
Проблема с MS help


14-1135500103
TUser
2005-12-25 11:41
2006.01.22
Давно возникло мнение


2-1136544210
Bopros
2006-01-06 13:43
2006.01.22
Маленькой приложение с Build with runtime packages





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский