Форум: "Основная";
Текущий архив: 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