Хотел тут причесать код для красоты и назвать форму и ее юнит одним именем (что логично), но получил ошибку.
Кто и как строит именование форм и юнитов в проекте?
			
		Модератор: Модераторы


Снег Север писал(а):Юнит называть - название формы+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 нужен на тот случай, если появяться тип рекорд и т.д.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1