一键导入
delphi-clean-code-solid
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Desenvolvimento de microserviços e APIs REST com o framework minimalista Horse em Delphi. Rotas, controllers, middlewares, gerenciamento de memória e tratamento de parâmetros.
Diretrizes de qualidade e desenvolvimento de templates HTML e páginas dinâmicas com Web Stencils (Server-Side Rendering) no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes Borland Database Engine (BDE) para FireDAC no Delphi.
Diretrizes e mapeamentos de expressões regulares para migração de componentes dbExpress (DBX) para FireDAC no Delphi.
Diretrizes de qualidade e desenvolvimento de APIs web, ORM, injeção de dependências e testes utilizando o Dext Framework em Delphi.
Arquitetura e padrões de integração com o ecossistema ACBr (Automação Comercial Brasil) em Delphi. Desacoplamento de UI e controle fiscal.
| name | delphi-clean-code-solid |
| description | Diretrizes de SOLID, Clean Code e padrões de nomenclatura para classes, interfaces, métodos e variáveis em projetos Delphi. |
Estas diretrizes definem as boas práticas de legibilidade, responsabilidade única, controle de complexidade e convenções de nomenclatura a serem seguidas rigorosamente.
Para garantir consistência em todo o projeto, utilize os seguintes prefixos e regras de nomenclatura:
I em maiúsculo (ex: IProjectService, IBoss4DLogger).T em maiúsculo (ex: TProjectService, TMyController).A em maiúsculo (ex: const AInstallSingle: string, const AConfig: TConfig).L em maiúsculo (ex: var LPkgPath: string, var LIndex: Integer).F em maiúsculo (ex: FNetClient: IAgentKitNetClient).T (ex: TMyEnum) e seus membros com duas ou três letras minúsculas que identifiquem o tipo (ex: enumValue1 -> evValue1).Em projetos Delphi corporativos modernos, organize os nomes físicos dos arquivos e unidades usando namespaces pontuados, refletindo a arquitetura lógica do sistema:
[NomeDaEmpresa].[Projeto].[Camada].[Funcionalidade]MeuApp.Controller.Customer.pas (Unit de Controller)MeuApp.Domain.Customer.Repository.pas (Unit de Contrato de Domínio)MeuApp.Infra.Customer.Repository.pas (Unit de Infraestrutura)Para evitar a criação de "Classes Deus" (God Classes) e métodos gigantescos propensos a bugs e complexidade excessiva, respeite os seguintes limites físicos recomendados:
Capturar erros silenciosamente mascara problemas estruturais sérios em ambiente produtivo.
try except end vazios ou sem logging/re-raise:
// INCORRETO: Silenciamento cego de exceção (Swallowing)
try
LQuery.Open;
except
// Abafa o erro silenciosamente
end;
// CORRETO: Tratar, registrar o log e relançar ou encapsular o erro
try
LQuery.Open;
except
on E: Exception do
begin
Log.Error('Falha ao abrir query: ' + E.Message);
raise EDatabaseException.Create('Erro interno de acesso aos dados.', E);
end;
end;
As classes de interface de usuário (Forms VCL/FMX, Frames e DataModules de tela) devem ser tratadas estritamente sob o padrão Humble Object (cascas burras de apresentação).
OnClick, OnShow, OnKeyPress).