Skip to main content

clean-code-reusability

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

Jump to install

Source facts

Repository
dandgabr/Valida-o-de-seguran-a-em-sistemas-Linux
Last source activity
August 18, 2026 at 17:30
Detected SKILL.md language
Portuguese
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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**.
View on GitHub