Skip to main content

clean-code-reusability

Guidelines and procedures for maintaining clean code, SOLID principles, code reusability, and preventing duplication across the repository.

跳到安装

来源信息

仓库
dandgabr/Valida-o-de-seguran-a-em-sistemas-Linux
最近来源活动
2026年8月18日 17:30
检测到的 SKILL.md 语言
葡萄牙语
星标
0
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
clean-code-reusability
description
Guidelines and procedures for maintaining clean code, SOLID principles, code reusability, and preventing duplication across the repository.
# Clean Code & Code Reusability Skill Este documento estabelece o padrão rigoroso de Clean Code, manutenibilidade e reutilização ativa de código para o projeto de auditoria e conformidade de segurança Linux. ## 🎯 Objetivos 1. Evitar duplicações de lógica de parsing, execução de comandos e validações de segurança. 2. Garantir aderência aos princípios SOLID e separação clara de responsabilidades. 3. Facilitar a extensão para novas distribuições Linux, novas ferramentas e novos frameworks regulatórios. --- ## 🧭 Diretrizes de Desenvolvimento ### 1. Pesquisa Prévia Antes de Implementar Antes de criar qualquer nova função, classe ou utilitário: - Execute buscas no repositório (`grep_search` ou listagem de módulos) para verificar se já existem parsers, utilitários de comando ou classes base no pacote `core` ou `collectors`. - Reutilize os métodos utilitários de execução segura de comando, leitura de `/proc` ou `/sys`, e cálculo de hash SHA-256 presentes no `sec_audit_linux.core`. ### 2. Responsabilidade Única (Single Responsibility Principle) - **Coletores (`collectors/`)**: Apenas coletam o estado do sistema e registram a evidência bruta (`EvidenceRecord`). Não devem conter regras de pontuação de compliance. - **Frameworks (`frameworks/`)**: Consomem as evidências e aplicam as regras de avaliação (`ControlEvaluation`) e a fórmula de aderência do respectivo framework. Não executam comandos de baixo nível diretamente no SO. - **Reporters (`reporters/`)**: Transformam os resultados de avaliação (`AssessmentResult`) em formatos de saída específicos (Markdown, JSON, HTML). Não realizam re-avaliação de regras. ### 3. Modelo de Herança e Composição - Todos os coletores herdam de `BaseCollector`. - Todos os frameworks herdam de `BaseFramework`. - Todos os adaptadores de ferramentas herdam de `BaseToolAdapter`. - Todas as estruturas de dados utilizam tipagem estrita com dataclasses ou Pydantic. ### 4. Tratamento de Erros e Exceções - Nunca utilize blocos `except: pass` vazios. - Trate explicitamente exceções comuns de ambiente Linux: `FileNotFoundError`, `PermissionError`, `subprocess.TimeoutExpired`, `UnicodeDecodeError`. - Quando um comando ou arquivo não puder ser acessado por falta de privilégios de root, registre o status correspondente (`INSUFFICIENT_PRIVILEGES`) sem interromper a execução do restante da auditoria. ### 5. Documentação e Padrões de Código - Comentários e docstrings no código devem ser preferencialmente em **Inglês**. - Mensagens de commit devem seguir o padrão *Conventional Commits* (ex: `feat(ssh): add ciphers and macs validation`, `fix(sysctl): handle missing proc entries`). - Interações no chat com o desenvolvedor em **Português**.
在 GitHub 查看