Хотел тут причесать код для красоты и назвать форму и ее юнит одним именем (что логично), но получил ошибку.
Кто и как строит именование форм и юнитов в проекте?
Модератор: Модераторы
Снег Север писал(а):Юнит называть - название формы+unit.
mirk писал(а): Ощущение что разработчики лазаря не задумывались о красоте именования файлов вообще.
ev писал(а): в начало unit добавляю
unit SampleFormUnit;
class SampleFormClass = class(TForm);
class function GetInst: SampleFormClass;
end;
var SampleFormVar : SampleFormClass;
class function SampleFormClass.GetInst: SampleFormClass;
begin
if SampleFormVar = nil then
SampleFormVar : SampleFormClass.Create;
result := SampleFormVar;
end;
stanilar писал(а):Обозначения категорий языка программирования (классы, файлы, объекты) имеет смысл всегда добавлять в конец.
stanilar писал(а):Тогда визуально в коде все категории, относящиеся к одной и той-же сущности, будут иметь одинаковой название, что улучшает отлов логических ошибок.
mirk писал(а):причесать код для красоты
stanilar писал(а): Тогда визуально в коде все категории, относящиеся к одной и той-же сущности, будут иметь одинаковой название, что улучшает отлов логических ошибок.
Лекс Айрин писал(а): К тому же небольшой префикс перед именем легко выполняет эту же роль.
unit SampleForm;
class SampleForm = class(TForm);
class function GetInst: SampleForm of class;//Таки придется оставить возможность указать тип результата для избежание неочевидности.
end;
var SampleForm : SampleForm of class; // of class нужен на тот случай, если появяться тип рекорд и т.д.
class function SampleForm.GetInst: SampleForm of var;
begin
if SampleForm of var = nil then
SampleForm := SampleForm.Create; // тут компилятор и сам может догадаться, что чему присваивается.
result := SampleForm; // и тут тоже
end;
stanilar писал(а): Т.е. это повторная проверка того, что уже проверено компилятором, и не имеет отношения к логике работы программы.
stanilar писал(а):Как вам такой концепт?
SampleForm := SampleForm.Create;
SampleForm.Create;
var SampleForm : SampleForm of class; // of class нужен на тот случай, если появяться тип рекорд и т.д.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23