Estou fazendo pouco progresso em um grande projeto. A fonte é maciça, muitas camadas de objetos, código de macarrão, gráficos de diamante duplo de herança múltipla, recursos semi-cozidos congelados quando o escritor original foi embora e ninguém sabe por que muitas peças foram projetadas da maneira que eram.
Suponho que qualquer programador competente teria algum problema em descobrir tudo o suficiente para corrigir bugs, finalizar as coisas pela metade e adicionar novos recursos. No entanto, suspeito que estou indo mais devagar do que um programador típico.
Como julgo se a fonte é incomumente ruim e estou indo tão bem quanto qualquer um poderia, versus a fonte é típica de um projeto como esse e eu sou pouco inteligente ou pouco qualificada?
fonte
Respostas:
A única maneira de decidir essa questão é adquirir muito mais programadores para resolver o mesmo problema e verificar se eles se saem melhor.
Obviamente, isso raramente é prático, a tarefa recaiu sobre você e desde que você esteja fazendo o melhor possível, pesquisando onde seu conhecimento falha. Desmembrando onde a complexidade o persegue e mantendo quem se importa bem informado sobre seu progresso. Então eu não me preocuparia e continuaria.
fonte
Primeiro, eu não gastaria muito tempo me preocupando com o fato de você ser "esperto ou pouco qualificado". Alguns projetos são difíceis de entender, e os grandes costumam demorar um pouco para se atualizar. Pensar que você é "estúpido" ou não está preparado para a tarefa não o ajudará de forma alguma.
Parece que você precisa de ajuda com o código, então considere seus recursos. Você tem acesso aos codificadores originais? Se estiverem disponíveis, podem ser bons recursos para obter informações. Que documentação está disponível? Se a documentação for escassa, retire um caderno e comece a criar sua própria documentação pessoal.
A grande idéia aqui é que você deve esperar que esse processo leve tempo, e quanto menos tempo você se dedicar mentalmente, mais energia terá para analisar o código e descobrir. Boa sorte!
fonte
Já viu a curva de aprendizado.
A teoria diz que, inicialmente, leva tempo para avançar. O truque é passar o ponto de aceleração rapidamente. Se você estiver travando regularmente, peça ajuda ao seu gerente ou, pelo menos, mantenha-o informado sobre os problemas que enfrentou. Contanto que você esteja bem para agendar sem problemas.
fonte
Dissecá-lo, uma vez pedaço de cada vez
Sua situação é muito comum: "entender o que acontece " leva tempo, como outros já mencionaram.
O que eu acho é que, se você o abordar "uma peça de cada vez" , independentemente de quão complexo seja um projeto, você descobrirá. Você só precisa ser lógico sobre isso.
Comece com um botão, digitar o código-fonte , colocar pontos de interrupção, ver passo a passo o que está acontecendo. Há duas coisas que você precisa cumprir:
fonte
Que tal adotar uma visão diferente: o que você precisa saber sobre esse código e tem uma maneira de medir isso? Por exemplo, se você está tentando corrigir um bug, isso pode exigir um tipo diferente de mergulho do que se você estivesse tentando migrar o código de um idioma para outro, por exemplo, passando de VBScript para C #. Se você está tentando obter todos os requisitos do código atual, isso pode levar um tempo, embora eu suspeite que a maioria das pessoas tenha esse tipo de problema.
fonte
Sr. Aaron Hillegass com as palavras inteligentes.
Você não é estúpido, não é lento e não é subestimado. Estou no mesmo barco, assumi uma nova função e a base de código existente é incrivelmente grande e mostra sinais de ser repetidamente superdesenvolvida, levei semanas para chegar a um ponto em que sinto que estou conseguindo perto da velocidade máxima. Imagine que o projeto seja como aprender um novo idioma inteiro, não acontece da noite para o dia, mas exige paciência.
fonte