- O que é beleza?
- Beleza é um valor percebido pelas pessoas
- Algo que traz surpresa, novidade, estabilidade, conforto, simplicidade etc.
- Pode ser dividida entre o surpreendente e o natural
- Para sentir beleza (insight), é necessário ter um certo conhecimento básico
- A beleza existe para a sobrevivência. Ao ver algo que não conseguimos compreender, sentimos desconforto
- Definição de código bonito
- Como o código não trabalha sozinho, quanto mais bonito ele for, melhor
- Idealmente, um código em que não haja um único ponto que atrapalhe a leitura
- Código natural é bom
- Quatro elementos que compõem um código bonito
- Social, confiável, linear e declarativo
- As partes sociais e confiáveis buscam estabilidade
- As partes lineares e declarativas buscam valor estético
- Código social
- Código que considera todo o contexto ao redor
- Seguir convenções, regras e a missão
- Semelhante ao aspecto social da linguagem
- Código confiável
- Código em que se pode confiar e usar
- Se não for confiável, ele se torna um código que precisa ser verificado manualmente
- Considera funções puras, idempotência, efeitos colaterais etc.
- Como é impossível não haver nenhum efeito colateral, é possível avisar por meio de documentação ou exceções
- Código linear
- Código que pode ser lido de cima para baixo apenas uma vez
- Quando é linear, do ponto de vista da neurociência, a memória de trabalho consegue processá-lo com mais facilidade
- Código declarativo
- Código que comunica com precisão o que faz
- É bom dar nomes apropriados
- Do ponto de vista da neurociência, a memória de curto prazo consegue processá-lo com mais facilidade
- Na prática
- Código bonito não surge como mágica de uma vez só
- Código perfeitamente bonito não é algo comum
- Por isso, são necessários os conceitos de melhoria incremental e ornamentação do código
- Melhoria incremental
- Fazer refatoração
- Repetir inspeção e melhoria para manter continuamente um nível de qualidade de 70% a 80%
- Quando devemos inspecionar e melhorar?
- Quando a propriedade do código fica difusa
- Quando o conhecimento sobre o código escrito se torna incerto
- Quando sentimos um mau cheiro
- Quando sentimos incômodo ao olhar para o código
- Ornamentação do código
- Tornar o código visualmente mais bonito
- Exemplos típicos incluem testes, code review, documentação e comentários
- Testes
- Tornam o código mais confiável
- Garantem o funcionamento, e o próprio teste pode servir como documentação
- Code review
- Torna o código mais confiável por meio de verificação
- Como espalha a propriedade do código, também pode aumentar seu aspecto social
- Code review obrigatória em todos os casos também pode virar um gargalo
- Documentação
- Ajuda a entender melhor o código
- O momento de documentar é quando outro desenvolvedor precisa conhecer o contexto, o design e as regras daquele código
- É ainda melhor usar ferramentas como UML
- Comentários
- Áreas de código inevitavelmente complexas são melhores explicadas com comentários do que com documentação
- A qualidade do código é importante, mas código bonito não garante necessariamente o sucesso
- Pelo contrário, pode ser necessário considerar mais o design ou o processo de trabalho
- A qualidade do código não garante necessariamente a qualidade do produto
9 comentários
kkkkkkkk
Parece que o código social vai ser importante mesmo, haha
Acho que é um texto bom e bem organizado. Se a qualidade do código costuma gerar problemas com frequência dentro da equipe, parece ser uma boa leitura para fazerem e depois se reunirem para discutir.
É um tema que pode parecer difícil, mas a leitura flui muito bem. Obrigado!
De fato, a melhoria gradual é importante. Afinal, ninguém fica satisfeito logo na primeira tentativa.
O hobby de sentir uma beleza estética no código que você mesmo escreveu deve ficar só como uma perspectiva pessoal. Não vamos, por favor, ser aquele sênior que, sendo um profissional pago, aborda o código da empresa de um ponto de vista artístico e ainda enfia uma mentalidade estranha nos juniores. Ou então larga de ser desenvolvedor e vai pintar quadros, que papo é esse de arte...
Você se prendeu de forma equivocada à palavra "beleza".
Jovem que lê só o título
Haha, exagerou bastante mesmo.