A boa programação
(informal-talk-mode 'on)
Pense duas vezes antes de achar que um código alheio está mal escrito, principalmente se esse código está dentro de uma função ou módulo com uma interface intuitiva, funciona direitinho e é flexível o suficiente para você não ter que decifrá-lo ou desmontá-lo toda vez que precisar de um funcionamento um pouco diferente.
A não ser que você seja um verdadeiro JIT ambulante e acha gostoso debugar código enquanto lê, o que realmente é relevante para dizer se um código está ou não bem feito, se traduz na quantidade de linhas que precisará alterar em relação ao "tamanho" da modificação que você precisará fazer e — dessas linhas que precisa alterar, a quantidade de code refactoring que você terá que fazer para entendê-las minimamente ou para evitar código replicado. — De resto, a programação vai do estilo de cada um. Não se incomode se seu colega gosta de usar um chapéu mexicano vermelho no escritório.
O código perfeito é aquele que você pode embrulhar numa caixa preta, trancar e jogar a chave fora. Na programação vale a máxima que quem gosta de beleza interior é médico legista ou decorador. Se for bonito, flexível, eficiente, funcional e intuitivo por fora, foda-se o que está por dentro.
Características de um código bem feito:
- Código sem bug (que funciona exatamente conforme esperado)
- Código bem arquiteturado, com um design funcional. E ter um design funcional não é uma questão de estilo, não é ser no estilo X ou Y e também não é seguir padrão W ou Z. Mas é, objetivamente:
- ter classes enxutas, economizar nas linhas de uma função e esbanjar nas linhas de documentação.
- ser possível resolver as coisas "por fora" sem a necessidade de editar o fonte e gerar nova versão do módulo ou função (ou que isso seja minimizado o máximo possível):
- caso seja necessário adicionar novas características: interface extensível.
- caso seja necessário alterar características: interface configurável.
- Ser organizado em módulos (pacotes) pequenos, com significado forte e objetivo, em módulos independentes entre si. E cada módulo ser fracamente atrelado a implementações específicas, principalmente de terceiros: facilidade de trocar as dependências e implementações sem a necessidade de editar o fonte ou refazer a organização dos pacotes.
— (...) —
Saindo do mundo perfeito, não se sinta mal caso um dia tenha produzido um código que você se envergonha. Fazer alguma coisa bem feita implica em planejar e saber com clareza os requisitos: para ser objetivo e não fazer mais do que necessário, para não mudar o tempo todo e seu pet virar um monstrinho.