Je suis un nouveau programmeur et je veux demander aux programmeurs seniors (programmeurs qui ont une certaine expérience dans le monde réel).
Je fais mon travail et après le codage, mon projet est terminé mais honnêtement, je ne me souviens pas du nom du code, des classes et des frameworks et de leurs propriétés.
Parfois même je doute de moi-même que j'ai fait ça?
Est-ce normal avec tous les programmeurs ou suis-je le programmeur le plus idiot qui ne se souvienne pas du nom du code et des classes / propriétés?
Éditer:
Je pense que beaucoup de programmeurs me trompent ici. J'ai dit que j'oublie les noms des frameworks, les noms des classes, les noms de propriété mais je commence à me souvenir de mon propre code une fois que je recommence à travailler dessus. Ma question est: vous souvenez-vous des noms de syntaxe et de classes / propriétés, etc.?
la source
Se souvenir de toute votre syntaxe et de vos API pour un projet n'est pas aussi important que de se souvenir des concepts qui ont servi à le construire. Une fois que vous avez de l'expérience, vous pouvez lire le code et en comprendre le sens, tout comme la lecture de ces messages.
Ce que vous trouverez au fil du temps, si vous vous améliorez activement, c'est que vous verrez les défauts de ce que vous avez écrit dans le passé en lisant l'ancien code (ce que je vous recommande de faire). Grâce à cette pratique, il devient plus facile à faire; comme toute autre compétence.
J'ai probablement écrit plus d'un million de lignes de code à ce jour dans ma carrière et je n'ai aucun moyen de me souvenir de tout cela. Je me souviens des projets et de ce qu'ils tentaient de résoudre (et des techniques qui ont permis de les résoudre).
la source
J'oublie beaucoup de choses après les avoir utilisées, mais je les oublie différemment.
Je me suis regardé au fil des ans et je suis arrivé à la conclusion que notre cerveau (d'accord, mon cerveau) utilise une certaine stratégie de mise en cache:
De nouvelles informations sont apprises, utilisées puis placées dans une file d'attente d'expiration. Dans quelques semaines, c'est parti.
L'accès répété à ces informations une fois apprises au plus tard il y a quelques mois les promeut d'une manière ou d'une autre afin qu'elles puissent être mémorisées pendant des mois, mais alors elles expirent.
L'accès répété aux blocs de connaissances au cours de plusieurs années, avec des écarts d'utilisation pendant plusieurs mois, les promeut dans une mémoire prioritaire où ils ont été conservés pendant des années.
PS Je soupçonne que la première idée de cache avec application aux ordinateurs est venue de quelqu'un observant comment les humains apprennent et se souviennent des choses. Nous n'avons donc rien inventé, nous avons juste pris ce qui était déjà construit en nous.
la source
Souvent. Les commentaires sont devenus obsolètes, mais je trouve que je peux généralement reconnaître mon code par mes commentaires.
EDIT: Je ne dis pas que je suis d' accord avec la tendance. Je dis simplement que c'est la tendance aujourd'hui. Comme le souligne Dave, il y a certainement un point de rupture. Il y a une discussion parfaitement merveilleuse ici: "Les commentaires sont une odeur de code" . Je tombe dans le camp "les commentaires sont pour fournir des informations sur le monde EN DEHORS de la base de code (exigences, changements commerciaux, etc.)".
la source
Syntaxe dont je me souviens généralement après quelques utilisations. Par exemple, lorsque j'ai commencé à utiliser des génériques ou linq, j'ai eu du mal à obtenir la bonne syntaxe.
IntelliSense facilite définitivement mon travail dans la mémorisation des noms de propriété et de méthode.
la source
Quand j'étais testeur, le développeur principal de l'entreprise m'a dit un jour que le code avait été écrit il y a 6 mois, aucun de mes employés ne pouvait en être tenu responsable. À l'époque, cela m'a choqué. Maintenant que je suis devenu développeur, je comprends. Je ne me souviens pas des détails du code, je sais que j'ai travaillé dessus, mais les détails ne sont pas là.
la source
Presque toujours. Mon plus récent (très petit) projet était un test de mes propres compétences (rouille). Je devais moi-même écrire un tas de code procédural dans un style C très simple, puis le refactoriser en code Java en utilisant certains modèles de conception et en gardant chaque méthode sur pas plus de huit lignes, si je le pouvais.
J'ai mis le code pendant environ un mois. Quand j'y suis revenu, il a fallu attendre une heure avant de reconnaître que je l'avais écrit. Franchement, même si j'avais mis mon nom dans un champ de commentaire, je ne suis pas sûr que cela m'aurait convaincu.
la source