一键导入
delphi-sonar-lint-compliance
Conformidade com regras de análise estática (DelphiSonar/DelphiLint), tratamento de code smells e falsos positivos do parser.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Conformidade com regras de análise estática (DelphiSonar/DelphiLint), tratamento de code smells e falsos positivos do parser.
用 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.
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.
基于 SOC 职业分类
| name | delphi-sonar-lint-compliance |
| description | Conformidade com regras de análise estática (DelphiSonar/DelphiLint), tratamento de code smells e falsos positivos do parser. |
Estas diretrizes definem as regras estritas de confiabilidade, legibilidade e manutenibilidade do código Delphi para passar com sucesso nas análises estáticas do SonarQube.
RoutineResultAssigned): Toda função (function) deve obrigatoriamente ter um valor atribuído explicitamente a Result.VariableInitialization): Variáveis locais devem ser declaradas e inicializadas antes do uso para prevenir o acesso a valores indefinidos na memória.FreeAndNilTObject): A rotina FreeAndNil deve ser utilizada exclusivamente com instâncias descendentes de TObject (não use com ponteiros genéricos ou interfaces).StringListDuplicates): Ao utilizar a propriedade Duplicates de um TStringList, certifique-se de que o objeto está ordenado (Sorted := True) para evitar comportamento indefinido nas buscas binárias internas.NilComparison): Utilize a função nativa System.Assigned(LObj) ou not System.Assigned(LObj) para checar referências, em vez de comparar diretamente com nil (ex: use if Assigned(LObj) em vez de if LObj <> nil).AssignedAndFree): Não utilize checagens redundantes de atribuição antes de liberar objetos. Chame diretamente LObj.Free; em vez de if Assigned(LObj) then LObj.Free;. O método Free já realiza internamente a validação se a instância é diferente de nil.TrailingWhitespace): Remova todos os espaços em branco no final de linhas de código ou arquivos.private, protected, public, published (VisibilitySectionOrder).EmptyVisibilitySection).ConsecutiveVisibilitySection).MixedNames): Mantenha a capitalização de nomes (variáveis, classes, propriedades) estritamente consistente com a declaração original. Ex: use MainFormOnTaskBar e não MainFormOnTaskbar.WithStatement): Nunca utilize a instrução with para acessar membros de objetos, pois ela prejudica o rastreamento estático e a legibilidade, além de induzir a erros silenciosos de escopo.ImportSpecificity): Mova as units importadas na cláusula uses da interface para a implementação sempre que possível. Caso a unit seja necessária para declarar tipos de campos privados, propriedades ou parâmetros da interface, o import deve permanecer na seção interface.UnusedLocalVariable / UnusedImport): O parser do Sonar para Delphi possui limitações ao rastrear variáveis declaradas de forma inline (var LVar := ...), acusando falsos positivos. Em caso de alertas incorretos de variáveis não utilizadas na linha seguinte, mova a declaração para a seção var tradicional da rotina.