coding-patterns
Router4D coding patterns and conventions
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
Router4D Coding Patterns
Unit Template
unit Router4D.<Module>;
{$I Router4D.inc}
interface
uses
System.SysUtils, System.Classes,
{$IFDEF HAS_FMX}
FMX.Forms,
{$ELSE}
Vcl.Forms,
{$ENDIF}
Router4D.Interfaces;
type
iRouter4D<Name> = interface
['{GUID}']
end;
TRouter4D<Name> = class(TInterfacedObject, iRouter4D<Name>)
private
FField: TObject;
public
constructor Create;
destructor Destroy; override;
class function New: iRouter4D<Name>;
end;
implementation
{ TRouter4D<Name> }
constructor TRouter4D<Name>.Create;
begin
end;
destructor TRouter4D<Name>.Destroy;
begin
inherited;
end;
class function TRouter4D<Name>.New: iRouter4D<Name>;
begin
Result := Self.Create;
end;
end.
Class Template
- Inherit from
TInterfacedObjectand implement the corresponding interface. - Private fields use the
Fprefix. - Provide a
class function New: iRouter4D<Name>;factory method.
Naming Conventions
| Element | Convention | Example |
|---|---|---|
| File | Router4D.<Module>.pas |
Router4D.History.pas |
| Class | TRouter4D<Name> |
TRouter4DHistory |
| Interface | iRouter4D<Name> |
iRouter4DHistory |
| Function/Method | PascalCase | GetMainRouter |
| Parameters | a prefix |
aForm, aKey |
| Fields | F prefix |
FMainRouter, FHistory |
| Constants | ALL_CAPS | MAX_FRAME_COUNT |
Error Handling
Use try/finally for resource cleanup. Re-raise after cleanup when needed.
LObj := TObject.Create;
try
// work
finally
LObj.Free;
end;
Uses Clause Order
- System units (
System.SysUtils,System.Classes, etc.) - FMX/VCL units (
FMX.Forms,FMX.Types, etc.) - Project units (
Router4D.Interfaces,Router4D.History, etc.)
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-03-11
- Mise à jour de l’index
- 2026-03-11
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!