J'ai entendu quelques personnes dire que l'une des meilleures façons d'améliorer votre capacité de codage est de lire le code des autres et de le comprendre. Ma question, en tant que programmeur relativement nouveau, est la suivante: où puis-je trouver de bons exemples de code source qui ne sont pas trop éloignés de ma tête?
learning
source-code
Jesse McCulloch
la source
la source
Réponses:
Vous pouvez parcourir des projets open source sur des sites de référentiel tels que GitHub , Codeplex , Google Code ou BitBucket . Vous trouverez des projets de différents niveaux de complexité. Vous devriez donc pouvoir trouver quelque chose qui vous intéresse et qui ne vous dérange pas trop au début.
Une autre option est le blog hebdomadaire de Scott Hanselman sur le code source .
Je recommande de commencer avec un projet établi et actif pour réduire les chances de commencer à lire du code qui n'a pas encore été utilisé et examiné. Idéalement, trouvez quelque chose qui vous intéresse et que vous pouvez utiliser. L'utilisation de l'application vous aidera à comprendre le code source. Un autre avantage du choix d’un projet open source est que vous pourrez peut-être apporter des corrections ou des fonctionnalités, ce qui contribuera à rendre la lecture du code plus intéressante.
Observer le code de quelqu'un d'autre peut être intimidant. Commencez par la
main
fonction (ou son équivalent) et continuez à partir de là.la source
Très peu de gens écrivent un bon code source lors de leur premier essai. Un bon code source est souvent produit par une série de révisions. Ainsi, si vous pouvez trouver du code source qui a été revu par des pairs plusieurs fois et qui a été corrigé plusieurs fois, vous êtes probablement dans un meilleur emplacement. Certains projets open source (et certaines parties de ceux-ci) sont particulièrement bien revus. Le code provenant d’entreprises ayant des cycles d’examen obligatoires (Google, par exemple, mais de nombreux autres) peut convenir.
Cela étant dit, je ne suis pas sûr que votre objectif soit de trouver un "bon code". Il faut examiner différents styles de code (tels que ceux écrits par vos collègues) et apprendre à identifier les avantages et les inconvénients de celui-ci. Plus vous identifiez de points négatifs, plus vous vous efforcez d'améliorer votre code et de savoir comment.
En particulier, j'estime qu'une très bonne approche pour obtenir une idée de bon code consiste à utiliser le débogueur interactif pour suivre le code complexe en suivant les chaînes d'appels. Par exemple, accédez à l'un des fichiers principaux de votre société, définissez un point d'arrêt et commencez à en comprendre le contenu.
Au bout de quelques fois, vous êtes désorienté par des fonctions de 100 lignes avec dix niveaux d'indentations et de dépendances sur les globales, et quelques fois par le code bien décomposé, vous améliorez votre propre programmation.
la source
Au lieu de trouver de bons codes, regardez dans General Programming Books.
Par exemple, Code complet, Écriture de code solide, Modèles de conception (je suis sûr qu'il y a beaucoup d'autres livres dans une autre question et réponse sur ce site)
Ces livres décrivent la philosophie considérée comme un bon code. Lisibilité, performance, maintenabilité, détection de bogues, etc.
Ce qui sert des ressources encore meilleures et plus efficaces que d'essayer de comprendre ce que l'auteur essaye de réaliser.
Ps: La bonne conception de logiciel est ce que vous devriez également examiner. Ce qui serait difficile à reconnaître uniquement à partir de codes d'observation, étant donné que le projet est suffisamment important.
la source
J'ai constaté que le code des bibliothèques fourni avec le langage de programmation de votre choix est souvent un bon début pour voir ce que l'on pense être les meilleures pratiques et un bon style de codage.
Bien que vous ne souhaitiez pas commencer par des endroits tels que les algorithmes de tri ou des classes de conteneurs complexes.
Project Euler ( http://projecteuler.net/ ) est un autre lieu intéressant pour l'écriture de code . Léger désavantage là-bas: vous devez d'abord résoudre le problème pour pouvoir accéder au forum où d'autres personnes ont posté leurs solutions (défis intéressants pour tous les niveaux d'expérience). Mais une fois cela fait, vous trouverez des exemples pour presque tous les principaux langages de programmation. Et puisque vous avez déjà résolu le problème, cela vous aidera à comprendre le code des autres peuples. De plus, vous verrez le code de langues que vous ne connaissez pas encore, mais que vous trouverez peut-être intéressantes.
la source
J'ai vraiment apprécié lire Beautiful Code . Il a des exemples de code courts mais très intéressants avec des explications détaillées.
la source