Ao ler o código de outros, você geralmente tem problemas para entendê-lo, ou é mais comum que você questione o código de outros sobre o fato de ele estar errado / não eficiente / com formato incorreto (etc)?
readability
snoopy
fonte
fonte
Respostas:
Hoje em dia não tenho muitos problemas para ler o código de outras pessoas. Já vi tantos códigos ruins que posso até diagnosticar que tipo de evolução levou a qualquer um que encontrei.
Na maioria das vezes, o código profissionalmente ruim é o código que começou bem, mas as melhores práticas, requisitos ou conjuntos de habilidades foram removidos por baixo dele. Às vezes, é apenas alguém que é ruim ou novo no idioma, mas isso também é bastante aparente (e incomum em um ambiente profissional). Quanto mais eu entendo por que o código apodrece, menos questiono a competência de outros programadores.
fonte
Isso pode ser o resultado desse processo de desenvolvimento .
Nos últimos 2 anos, tenho trabalhado com código de outras pessoas. Eu depurei, corrigi bugs e fiz melhorias. Na minha experiência, geralmente penso que o código é ruim, cheio de bugs, lento, consome muito mais memória do que o necessário, utilizava conceitos de programação inadequadamente, muito mal formatados (isso é difícil de conviver), não comentado e o fluxo lógico é um bagunça. E se eu disser que encontrei uma função com 5 mil linhas de código?
Então, na minha experiência, eu normalmente questiono a qualidade do código. Se algo é difícil de entender, porque é complexo, faz sentido depois que você o entende. Mas se é apenas ruim, sempre será ruim.
fonte
Resposta curta: Principalmente não gostamos ou somos muito críticos sobre o motivo pelo qual a codificação é feita dessa maneira, e não o contrário. No entanto, quanto mais você lê o código incorreto dos outros, mais rápido aprecia o código bem escrito :)
Embora possa parecer óbvio, mas a melhor maneira de melhorar a leitura do código das pessoas é: lendo o código das pessoas . O problema é que, quando as pessoas tipicamente leem o código de outras pessoas, elas não tentam " entendê- lo " , ou seja, familiarizam-se intimamente com ele; eles fazem o equivalente à leitura rápida de poesia.
Para inserir o código de outra pessoa, tente o seguinte:
Todas essas etapas forçarão você a ler o código em maior profundidade.
Existem também algumas dicas de como maximizar o entendimento de uma base de código que você apresentou para manutenção e suporte:
Depois de ter uma idéia básica do que está acontecendo, você pode dar uma boa olhada no armazenamento de dados (a camada de persistência). Essa é outra ótima maneira de entender o que está acontecendo, mas verifique se as coisas que você está estudando estão realmente em uso. Lembro-me de algumas vezes que realmente cheguei ao fundo de algumas classes com essa abordagem, pensando que entendi o sistema - e depois percebendo mais tarde que as classes não eram usadas.
Pode parecer uma tarefa assustadora - leva tempo e nenhuma ferramenta sofisticada pode remover a necessidade de inteligência - mas também pode ser muito gratificante. À medida que avança, você provavelmente encontrará muitos bugs nos casos de canto / borda e verá maneiras de melhorar o código. Um conselho - não exagere na refatoração / alteração até entender bem o código. Freqüentemente, o que parece um erro ou simplesmente um código incorreto quando você o vê pela primeira vez, acaba sendo um gênio sutil no trabalho de uma investigação posterior e esclarecida. Além disso, a remoção de código não utilizado é muito satisfatória e excelente para futuros mantenedores. É claro, com a suposição de que toda a base de código é controlada por versão.
fonte