Sou um novo programador e gostaria de perguntar aos programadores seniores (programadores que têm alguma experiência no mundo real).
Eu faço o meu trabalho e, após a codificação, meu projeto é concluído, mas, honestamente, não lembro o código, o nome das classes e estruturas e suas propriedades.
Às vezes até eu duvido que tenha feito isso?
Isso é normal para todos os programadores ou eu sou o programador mais idiota que não conseguia lembrar o código e os nomes de classes / propriedades?
Editar:
Eu acho que muitos programadores estão me entendendo errado aqui. Eu disse que esqueço os nomes de estruturas, nomes de classes, nomes de propriedades, mas começo a me lembrar do meu próprio código assim que começo a trabalhar nele novamente. Minha pergunta é: você se lembra dos nomes de sintaxe e classes / propriedade, etc.?
fonte
Lembrar todas as suas sintaxe e APIs para um projeto não é tão importante quanto lembrar os conceitos que foram usados para construí-lo. Depois de ter experiência, você pode ler o código e descobrir o significado, assim como ler essas postagens.
O que você encontrará ao longo do tempo, se estiver melhorando ativamente, é que verá as falhas no que escreveu anteriormente lendo apenas o código antigo (o que eu recomendo). Através dessa prática, fica mais fácil fazer; assim como qualquer outra habilidade.
Provavelmente já escrevi mais de um milhão de linhas de código em minha carreira e não há como me lembrar de tudo. Lembro-me dos projetos e do que eles estavam tentando resolver (e das técnicas que foram usadas para resolvê-los).
fonte
Eu esqueço muitas coisas depois de usá-las, mas as esqueço de maneira diferente.
Eu me observei ao longo dos anos e cheguei à conclusão de que nosso cérebro (ok, meu cérebro) emprega uma certa estratégia de cache:
Novas informações são aprendidas, usadas e colocadas em alguma fila de vencimento. Dentro de algumas semanas se foi.
O acesso repetido a essas informações, uma vez aprendidas no prazo de alguns meses atrás, as promove de alguma forma, para que possam ser lembradas por meses, e somente então elas expiram.
O acesso repetido aos blocos de conhecimento ao longo de vários anos, com as lacunas de uso por vários meses, os promove a uma memória prioritária onde eles mantiveram por anos.
PS Suspeito que a primeira idéia de cache com aplicação em computadores tenha vindo de alguém observando como os humanos aprendem e se lembram das coisas. Então, não inventamos nada, apenas pegamos o que já estava embutido em nós.
fonte
Frequentemente. Os comentários tornaram-se ultrapassados, mas acho que geralmente consigo reconhecer meu código com meus comentários.
EDIT: Não estou dizendo que concordo com a tendência. Só estou dizendo que é a tendência hoje. Como Dave aponta, certamente há um ponto de ruptura. Há uma discussão perfeitamente maravilhosa aqui: "Comentários são um cheiro de código" . Eu caio no campo "os comentários são para fornecer informações sobre o mundo FORA do código-base (requisitos, mudanças nos negócios, etc.)".
fonte
Sintaxe Eu geralmente me lembro depois de alguns usos. Por exemplo, quando comecei a usar genéricos ou linq, tive algumas dificuldades em obter a sintaxe correta.
O IntelliSense definitivamente torna meu trabalho muito mais fácil na lembrança de nomes de propriedades e métodos.
fonte
Quando eu era testador, o principal desenvolvedor da empresa me disse uma vez que o código foi escrito há 6 meses atrás, e nenhum dos meus funcionários pode ser responsabilizado por isso. Na época isso me chocou. Agora que passei a ser um desenvolvedor, eu entendo. Não me lembro dos detalhes do código, sei que trabalhei nele, mas os detalhes não estão lá.
fonte
Quase sempre. Meu projeto mais recente (muito pequeno) foi um teste de minhas próprias habilidades (ferrugem). Eu mesmo escrevi um monte de código procedural em um estilo C muito simples, depois refatorei-o para código Java usando alguns padrões de design e mantendo todos os métodos com no máximo oito linhas, se eu pudesse.
Coloquei o código por cerca de um mês. Quando voltei, demorou uma hora para que eu reconhecesse que havia escrito. Francamente, mesmo se eu tivesse colocado meu nome em um campo de comentário, não tenho certeza se isso teria me convencido.
fonte