Mesmo sendo um projeto de baixo nível em C + Assembly, ASM-SysMon pode seguir padrões modernos de engenharia.
Cada módulo tem uma responsabilidade clara:
main.c: coordenação;main.c: coordenação;proc.c: coleta;ui.c: apresentação;input.c: interação;syscalls.asm: acesso ao kernel.
Importância:
- reduz acoplamento;
- facilita manutenção;
- permite evolução incremental.
syscalls.asm funciona como uma camada de infraestrutura crítica. O restante do projeto usa o contrato de include/sysmon.h e não precisa repetir números de syscalls diretamente.
Importância:
- centraliza mudanças;
- melhora legibilidade;
- reduz duplicação.
A interface mostra um indicador animado de atualização.
Importância:
- informa que o programa está vivo;
- ajuda a perceber travamentos;
- melhora experiência sem dependências externas.
Diagramas, casos de uso e SVGs ficam no repositório junto com o código.
Importância:
- facilita revisão;
- ajuda novos colaboradores;
- mantém decisões técnicas rastreáveis.
O Makefile define o caminho esperado para compilar C freestanding, montar Assembly NASM, linkar sem libc e limpar.
Importância:
- reduz passos manuais;
- facilita teste local;
- prepara base para CI futura.
Próximos padrões que podem ser adicionados:
- parser dedicado para transformar strings em valores numéricos;
- camada de métricas separada da camada de leitura bruta;
- testes automatizados de parsing com fixtures;
- documentação de ADRs para decisões importantes;
- integração CI com
makeegit diff --check.
Cada alteração significativa deve avançar por fases explícitas:
- requisito documentado;
- desenho de camadas e impacto visual;
- implementação em C ou Assembly conforme criticidade;
- verificação local com
make; - atualização de histórico, diagramas e padrões.