Comment puis-je améliorer mes compétences en lecture de code [fermé]

13

Eh bien, la question se trouve dans le titre - comment puis-je améliorer mes compétences en lecture de code.

L'environnement logiciel / matériel dans lequel je travaille actuellement est assez lent en ce qui concerne les temps de compilation et le temps nécessaire à l'ensemble du système pour tester. Le système est assez ancien / complexe et il n'est donc pas possible de le diviser en plusieurs sous-projets plus petits et plus faciles à gérer dans un avenir proche.

J'ai réalisé que ce qui entrave vraiment le progrès du développement, c'est mes compétences en lecture de code. Comment puis-je améliorer mes compétences en lecture de code, afin que je puisse repérer la plupart des erreurs et des problèmes dans le code avant même d'appuyer sur la touche "compiler", avant même de démarrer le débogueur?


la source
J'ai eu affaire à un problème similaire. Notre équipe a décidé d'investir du temps dans la mise à niveau d'une base de code héritée très importante vers une nouvelle version prenant en charge la mise en cache partagée. Nous avons réussi à améliorer nos temps de construction et notre fiabilité de manière significative. De plus, si vous pouvez refactoriser juste assez pour commencer à utiliser de grandes parties prédéfinies de votre application, vous pouvez également gagner du temps de construction.
smithco
1
comme toutes les compétences, il ne fait que s'améliorer avec la pratique et la recherche de conseils de ceux qui ont plus d'expérience.
Tout comme apprendre la langue. Plus de code que vous lisez, plus de compétences en lecture.
Steven Mou

Réponses:

1

Lire plus de code

Pour ma part, j'ai obtenu mes compétences de lecture de code quelque peu décentes en lisant les questions de certification, celles-ci étaient très difficiles à suivre, car elles étaient mal écrites exprès

Ils sont censés tester votre connaissance du langage (Java dans mon cas) après tout.

Plus vous lisez de code, plus vous accumulez d'expérience, c'est aussi simple que cela

Mahmoud Hossam
la source
4

Améliorez votre environnement de développement autant que possible afin qu'il puisse vous donner des commentaires que vous pouvez utiliser.

Les IDE modernes peuvent aider BEAUCOUP si vous pouvez leur fournir les informations nécessaires. Voici des exemples:

  • Coloration de la syntaxe: constantes dans une couleur, commentaires dans une autre, identificateurs dans une troisième, chaînes dans une quatrième, etc. J'ai trouvé récemment un morceau de code qui était ... étrange ... Il s'est avéré qu'une variable était nommée comme un serait constante - la mauvaise couleur la trahissait.
  • Détectez les erreurs de compilation simples. La plupart des langues ont une syntaxe simple qui peut être enseignée à un éditeur, de sorte qu'il peut vous dire à l'avance que vous aurez des erreurs.
  • Détectez les erreurs de compilation complexes. De nombreux compilateurs peuvent générer des fichiers d'informations qui peuvent être chargés dans votre IDE pour qu'il sache combien d'arguments une fonction donnée prend, etc.

Il existe également des programmes qui peuvent identifier les erreurs logiques dans vos programmes, que vous pouvez utiliser pour obtenir encore plus d'informations sur votre programme dont vous pouvez apprendre.

De plus, votre IDE peut vous aider à naviguer dans votre source lorsqu'il connaît toutes ces choses. Cela vous permet de rechercher facilement les choses au lieu d'avoir à tout mémoriser

Je vous suggère de modifier votre question pour fournir plus d'informations sur l'environnement avec lequel vous travaillez et les programmes que vous écrivez, pour de meilleures suggestions.


la source
1
En outre, un moniteur de grande taille (ou large et pivotant) peut faire des merveilles car vous pouvez VOIR plus de votre code à la fois.
1

En plus de ce que tout le monde a dit, vous avez besoin de patience si vous voulez lire du code (surtout s'il ne vous appartient pas). Oui, la lecture par ligne de code par cœur demande de la pratique, mais cela en vaut la peine, et vous apprenez également les styles / astuces de codage des autres. Voici ce que je vérifie dans l'ordre:

  1. noms de variables, accolades correspondantes, importations, etc.
  2. vérifier que les conditions sont correctement placées et que des erreurs sont détectées
  3. tout le reste - utilisation des fonctions, etc.

J'ai l'habitude de coder dans un éditeur de texte brut, donc Ctrl + F est mon ami, mais un IDE est très utile, surtout lorsque vous lisez à partir de plusieurs fichiers.

Maintenant, si vous êtes celui qui va écrire le code, n'ayez pas peur de mettre des espaces blancs et des indentations et des commentaires. Honnêtement, si cela ne semble pas agréable aux yeux, cela devient une douleur dans la tête.

Gladysbixly
la source
0

Même si je pouvais repérer toutes les erreurs avant de lancer la compilation, je vérifierais toujours en testant et en compilant. Je ferais seulement confiance à un test positif et à un programme en cours.

Je pense que de bonnes compétences en lecture de code peuvent vous aider à faire des hypothèses sur le code. "Cela irait probablement mal!", Et testez cela. Et en trouvant des bugs "cela pourrait être la cause permet de le tester"

La meilleure façon d'y arriver est d'écrire le code vous-même. La deuxième meilleure façon est que le code est tout simplement très bon et s'explique (s'il est vraiment difficile, le code n'est tout simplement pas si bon)

Si ce n'est pas votre propre code et qu'il n'est pas bien écrit, la seule façon de s'améliorer est de faire, faire, faire. Lisez le code, essayez différentes choses, écrivez des tests sur celui-ci, apprenez à connaître la base du code, refactorisez. Des outils peuvent vous aider, des outils qui peuvent trouver où les méthodes sont utilisées, où les interfaces sont implémentées, où les variables sont déclarées, etc. Et des outils qui vous donnent un aperçu des espaces de noms, de leurs relations et des mesures à leur sujet.

KeesDijk
la source
0

J'ai eu un problème similaire dans le passé - mon truc était d'écrire un petit test, de quitter le bureau pendant un petit moment, de revenir et de simuler le test sur papier. De cette façon, vous obtenez de passer en revue votre code avec un nouveau look, et vous avez une valeur spécifique à vérifier (contrairement à parcourir votre code et dire "ahh .. ahh ... est logique")

yossale
la source
0

Il serait peut-être bon de se concentrer sur l'apprentissage d'une compétence en lecture de code à la fois, tout comme dans les revues de code formelles, chaque critique a une responsabilité différente. Prenez un corps de code et passez une semaine (disons) à chercher des noms de variables incorrects. Frappez à nouveau le même code la semaine prochaine à la recherche de pointeurs nuls potentiels; la semaine prochaine, recherchez les blocs de code en double; puis des problèmes de multithreading, etc.

Après avoir consacré du temps à perfectionner différents détecteurs, vous pouvez constater que vous pouvez maintenant lire le code avec un couple - ou peut-être tous - d'entre eux actifs, vous avez donc un sens du code plus riche maintenant en une seule lecture.

Carl Manaster
la source
0

Si vous parlez d'erreurs de compilation, cela ne se produira pas. La meilleure solution pour les erreurs du compilateur est d'affecter la personne qui a interrompu la génération à baby-sitting les générations jusqu'à ce que quelqu'un d'autre rompt la génération. Vous l'avez cassé, vous l'avez réparé.

Les erreurs logiques sont beaucoup plus difficiles à détecter et à éviter. Une technique pour éviter les cas simples consiste à écrire des tests unitaires / de régression.

SnoopDougieDoug
la source
0

Un conseil que j'ai entendu ce matin (sur la radio SE) était de prendre un fichier et de le réduire au type 3pt, puis de rechercher des modèles dans le texte. Vous ne pourrez pas lire le texte mais toutes sortes de modèles apparaîtront. C'est plutôt un bon truc.

Et c'est l'un de ces endroits où la ligne de commande est votre ami, grep et les pipelines peuvent faire beaucoup de choses utiles.

Zachary K
la source
"a été de prendre un fichier et de le réduire au type 3pt" - que voulez-vous dire - pour changer la police de l'éditeur de texte en police 3pt?
Exactement, l'idée est de voir la forme du texte et non les mots réels.
Zachary K
0

J'ai été professeur de programmation pendant plusieurs années. Pendant cette période, j'ai passé beaucoup de temps à lire le code et à le commenter. Cela implique de repérer les erreurs de compilation (nous n'avons pas toujours compilé le code des étudiants), les erreurs de logique et de conception et les problèmes de normalisation.

Pour bien faire cela, nous avons dû développer un œil attentif à ce type d'erreurs et être en mesure de "tester à blanc" le code. Ce type d'activité m'a également exposé à de nombreux styles de codage. Aujourd'hui, mes compétences en lecture de code sont assez bonnes grâce à cette période.

Donc, ma suggestion est la suivante:

  • Examinez le code avec vos pairs.
  • Je recommande de lire leur code seul avant de le parcourir avec eux afin que vous deviez comprendre ce que le code fait pour vous-même.
  • Commentez la structure et la propreté du code, les normes et la logique.
  • Cela améliorera la qualité de votre code ainsi que vos compétences en lecture de code.
  • Examinez votre propre code un certain temps après l'avoir terminé, de cette façon, vous pourrez l'évaluer «avec un regard neuf» et apprendre de vos erreurs.

Bonne chance!

Hila
la source