当前位置:网站首页>Quels sont les conseils que les programmeurs débutants ne connaissent pas?

Quels sont les conseils que les programmeurs débutants ne connaissent pas?

2022-06-21 21:06:00 InfoQ

hello,Bonjour tout le monde,Je suis Jackpop,Diplômé de l'Université de technologie de Harbin,Une fois à Huawei、Ali et d'autres grands travaux d'usine,Si vous êtes intéressé par、Emploi、Il y a des doutes sur l'amélioration de la technologie, etc,Autant se faire des amis:

Je suisJackpop,Faisons un ami!

Que vous soyez débutant,Et expert en développement de logiciels,Il n'y a aucun moyen d'éviter les erreurs dans le Code.

Il y a des erreurs dans le Code que nous développons tous,Parce que,Personne ne peut vraiment comprendre ce qui se passe dans le processus de codage.

Donc,,Il faut du temps pour élaborer le projet,InDebugLe processus exige également beaucoup d'énergie.

Nous ne pouvons étudier que nous - mêmes,Étudier nos outils,Étudier notrebug,Trouver une solution,Aidez - nous à réduire plus efficacement ce qui se passe dans le processus de développementbug.

Comment gérerbug,Je pense qu'il peut être divisé en3Étapes:

  • Pré - mise en service:Évitez autant que possible debug- Oui.
  • Mise en service:Découvertebug、Identificationbug、Réparationbug、Supprimerbug
  • Après mise en service:Estimation inconnue、Non présentbug

En bas,Nous allons détailler chaque étape.

Pré - mise en service

Comme un informaticienEdsger W. DijkstraComme ça.:

"Si le débogage est un processus pour éliminer les erreurs,Alors la programmation doit être le processus d'introduction des erreurs."

Si nous introduisons le programme par programmationbug,Cela signifie que nous devons nous guider pour réduire l'introductionbugNombre de.J'ai appelé ce processus qui m'a guidé "Pré - mise en service"(Prebugging).

Je suisGoogleRecherche en haut "Debug"Définitions, Les définitions tirées du dictionnaire d'Oxford m'ont fait réfléchir .

“Debug Processus d'identification et d'élimination des erreurs du matériel ou des logiciels informatiques .”

Cette définition m'a fait réfléchir , Parce que je crois que beaucoup de développeurs de logiciels sont proactifs dans le débogage . Ils améliorent leurs outils et eux - mêmes , Pour réduire les bugNombre.

Nous pouvons le faire de plusieurs façons .

  • Écrire les spécifications du programme
  • Découvrez les outils que vous utilisez souvent
  • Apprendre à taper avec précision
  • Familiarisez - vous avec les messages d'erreur et leurs solutions possibles
  • Assurez - vous toujours d'avoir des paramètres stables pour la plupart des outils que vous utilisez

Bien que cette définition soit acceptable pour le débogage , Mais il dilue les développeurs de logiciels pour réduire bug Tout ce qui est arrivé et fait .  Alors, regardons ces choses maintenant .

Découvrez les outils que vous utilisez souvent

Il est important de connaître tous les outils que vous utilisez fréquemment , Parce que cela vous aide à réduire le nombre de bug.

Il n'y a aucun moyen d'éviter complètement bugLa production de, Mais si vous avez une bonne connaissance de base des outils que vous utilisez , Vous pouvez éviter de produire bug.

Par exemple,Beaucoup.JavaScript L'utilisateur ne se souvient pas de ce qu'est le retour . Et certaines personnes ne se souviennent pas de la différence avec les méthodes de tableau .

Si ce n'est pas le cas,JavaScriptUtilisateurs, Il suffit de choisir une méthode ou une fonction intégrée dans la langue que vous utilisez , Puis demandez - vous :

Quels sont les paramètres requis pour cette méthode ? Que revient cette méthode ? Que se passe - t - il si un paramètre invalide est fourni ?

Posez - vous souvent les questions ci - dessus , Vous pouvez apprendre beaucoup de choses .

C'est ainsi que vous pouvez vous tenir au courant des bases des outils fréquemment utilisés. , Surtout si vous n'avez pas beaucoup de temps pour lire activement .

Plan avant codage

La programmation semble être un travail à plusieurs reprises , Tu dois continuer à essayer ,Jusqu'à ce qu'il soit correct.

De nombreux développeurs de logiciels débutants ne comprennent pas vraiment le programme qu'ils développent , Certains d'entre eux avant de chercher des informations erronées sur Internet , Je n'ai pas vraiment essayé de comprendre le message d'erreur .

Maintenant, Tout le monde semble penser que la programmation est toujours associée à “Code,Code,Code,Recherche,Mise en service”Concernant. ‌‌

Mais il faut vraiment comprendre ce que vous faites , Afin que vous puissiez rapidement Lister :

  • Ce que nous attendons comme intrants et la structure et les caractéristiques de ces intrants
  • Comment nous nous attendions à ce que ces données soient traitées
  • Ce que nous nous attendions à revenir
  • Si l'entrée prévue n'est pas donnée ,Qu'est - ce qu'il faut faire?

Bref, Entrée dans une fonction ou un programme , La planification des processus et des extrants peut non seulement vous aider à réduire les erreurs , Peut également vous aider à écrire des cas de test efficaces .

Familiarisez - vous avec les messages d'erreur courants

Si vous êtes déjà familier avec une erreur ou bug, Souvent facile à réparer .

Alors..., Prenez le temps d'étudier quelques erreurs courantes , Il est important d'apprendre à corriger ces erreurs . Parlons maintenant de quelques erreurs courantes .

  • Erreur de syntaxe

Chaque langue de programmation a ses propres règles , Les développeurs sont responsables des violations de ces règles .

Le langage de programmation est très strict avec les règles , Tant que ces règles sont enfreintes , Ils lancent des erreurs .

Par exemple,Imagine ça., Vous omettez les parenthèses d'une fonction ou d'une méthode :

function {}

Une erreur sera lancée.

Connaissance des messages d'erreur pour les erreurs de syntaxe , Et comment le réparer , Cela vous donnera un avantage sur le débogage .

Personnellement, j'ai remarqué , La plupart des erreurs de grammaire mentionnent toujours des mots clés , Pour vous aider à trouver la partie du Code qui a mal tourné .

let school = { 
name: "Harvard", 
location: "Heaven On Earth", admit: function() { return "weeew! You are admitted" } 

console.log(school.names); // undefined

Retour à "undefined"Dis - nous., L'objet ou l'attribut auquel nous accéderons n'est pas disponible . Si nous sommes attentifs aux messages d'erreur ,Pour trouver le problème..

Plus vous écrivez de code , Plus vous pouvez éviter les erreurs de grammaire . Vous pouvez aussi simplement utiliser l'éditeur de code 、Outil de contrôle statique, Capacité de mettre en évidence les erreurs de syntaxe . L'utilisation de ces outils peut vous aider beaucoup .

  • Logique/Erreur sémantique

Les erreurs logiques sont des problèmes très difficiles , Parce qu'ils n'ont pas tort de voir les montagnes -- Mais vous n'avez toujours pas les résultats escomptés .

Par exemple, Une façon simple de confirmer cette erreur est de vérifier le code suivant dans la console de votre navigateur .

prompt("enter number") + 3;

Vous voudrez peut - être sortir un numéro , Mais ça renvoie une chaîne .

Bref, Vous n'obtiendrez pas les résultats escomptés .

Planification avant codage , Comprendre les bases du langage de programmation que vous utilisez , Peut vous aider à gérer les erreurs logiques -- À condition que vous compreniez les exigences procédurales qui vous sont imposées .

  • Erreur de compilation

Votre programme pourrait ne pas être en mesure de compiler , Parce que vous avez peut - être enfreint certaines règles que le compilateur veut que vous suiviez .

Alors..., Le programme que vous écrivez peut ne pas être compilable .

Par exemple, N'utilisez pas les guillemets habituels lors de l'écriture d'une chaîne ,Peut causer des erreurs de compilation, Parce que la chaîne doit utiliser des guillemets .Alors..., Le Code ne sera pas compilé .

const name = Ayobami

C'est comme une erreur de syntaxe , Plus vous écrivez de code , Plus vous serez en mesure de gérer les erreurs de compilation .

Vous pouvez améliorer votre productivité en compilant ou en testant votre code fréquemment , Réduire ces erreurs .

  • Erreur de ressource

Parfois, Votre programme peut dépasser sa limite de mémoire ou épuiser les ressources disponibles .

Cela peut entraîner l'arrêt du service ou la défaillance de votre application .

Le code suivant est un exemple pratique de code qui cause une erreur de ressource .

function factorial(num) {
 var result = 1;
 for(var i = num; i > 0; i--){
 result = num * factorial(num-1);
 }
 return result;
}

factorial(5);
factorial(10);
factorial(20);
factorial(0);

En raison de l'espace de pile ( C'est - à - dire la mémoire allouée par le navigateur à la chaîne d'appels de fonctions ) Est épuisé , La fonction s'écrase ou ralentit le navigateur .

Dans ce cas,, L'erreur est une erreur de ressource , Parce que c'est dû à l'épuisement de la mémoire allouée (Ressources)Et c'est arrivé.

  • Erreur d'interface

Parfois..., Le programme que nous avons conçu API Est utilisé d'une certaine manière , Mais les utilisateurs utilisent le programme différemment ,Ça pourrait causer des erreurs..

Cette erreur s'appelle une erreur d'interface .

Par exemple, Supposons que la méthode s'attende à une chaîne , Mais nous utilisons un nombre au lieu de l'appeler . Si le développeur du programme ne tient pas compte de cette situation ,Cela peut causer des erreurs.

La plupart des choses dans le logiciel sont conformes aux normes . Si les critères que vous avez définis ne sont pas respectés , Vous devez fournir des informations d'erreur ou des guides à vos utilisateurs , Pour les aider à comprendre qu'ils utilisent l'application par erreur .

Dans ce cas,,Enregistrez votreAPI Il y a beaucoup d'aide .

Assurez - vous que vos paramètres correspondent aux outils

Il est important d'avoir une configuration adaptée à votre outil .

Parfois, Votre système d'exploitation peut ne pas être compatible avec votre application -- Peut - être parce qu'il a besoin d'une version plus récente du système d'exploitation , Ou il a besoin d'un logiciel .

Par exemple, Si l'ordinateur manque quelque chose de Microsoft VCExécution,WampServerPeut - être pas dansWindowsFonctionnement normal sur le système d'exploitation.

Des choses comme ça peuvent arriver LinuxEtmacOSAllez..

.Vous devez juste vous assurer que vos paramètres sont adaptés à votre travail de développement .

Soyez certain de la fonctionnalité de votre programme

"En mathématiques、 En informatique et en physique , Un système déterministe est un système qui n'implique pas de randomisation dans le développement de l'état futur d'un système. . Donc,, Un modèle déterministe produira toujours la même sortie à partir d'une condition ou d'un état initial donné ".

Alors,Le problème, c'est que, Comment faire une procédure déterministe ?

Vous devez identifier les types de données acceptables dans votre programme , Rejeter toute donnée non conforme .

Bref, Vous devez accepter les données attendues , Rejet de données non conformes aux attentes , Ou informer l'utilisateur des données attendues .

Ne l'utilisez pas si vous ne comprenez pas

Diminutionbug Une des meilleures façons de produire est d'utiliser seulement les méthodes que vous comprenez 、Méthodes et classes.

Si vous devez utiliser une méthode ou un style que vous ne comprenez pas , Avant de commencer , Assurez - vous d'avoir une compréhension approfondie .

Chaque fois que vous utilisez quelque chose que vous ne comprenez pas , Il est facile d'introduire des applications inutiles bug.

Apprendre à taper avec précision

La précision de la dactylographie est sous - estimée , Parce que la programmation est plus pensée que dactylographie . Mais l'exactitude de la dactylographie peut vous aider à réduire les erreurs de grammaire 、 Mauvais type ou mauvaise typographie .

De nombreuses erreurs de programmation sont causées par de simples erreurs typographiques .

La capacité de dactylographier avec précision peut réduire les bug.

Déboguer en observant d'autres développeurs

Une autre façon intéressante d'améliorer les compétences de débogage est , Quand d'autres développeurs débogueront , Observez - les , Cela aide à voir les différentes méthodes de débogage .

Il y aura toujours des outils ou des méthodes que nous ne connaissons pas ou que nous n'avons pas utilisés pour déboguer , Observer le débogage des autres nous donne l'occasion de découvrir des outils ou des méthodes que nous ne connaissons peut - être pas .

Ou même si vous connaissez ces différentes méthodes , Vous ne savez peut - être pas non plus pourquoi ou comment les utiliser .

Observer les autres peut nous influencer pour revoir ces méthodes et ces outils , Peut éventuellement améliorer nos compétences de débogage .

Mise en service

Le débogage est au cœur de la programmation , Parce qu'il prend le plus de temps à coder .

La mise en service comprend principalement trois étapes :

  • Erreur trouvée
  • Analyser et comprendre les causes des erreurs
  • Réparer ou supprimer bug

Erreur trouvée

Découvertebug Vous devez d'abord comprendre le message d'erreur que vous voyez .

Sans aucun doute., Le message d'erreur est un bugUn guide pour.

Si vous comprenez le message d'erreur , Vous pouvez suivre exactement la mauvaise position .

Mais certaines erreurs peuvent être fastidieuses , Parce qu'ils peuvent ne pas avoir de message d'erreur clair et inconnu .

Comme je l'ai dit plus tôt,,Logique/ Les erreurs sémantiques n'obtiennent pas les résultats que nous voulons .

Pour trouverbug,Tu en as besoin.:

  • Clarifier vos attentes
  • Vérifiez vos résultats
  • Comparez vos attentes aux résultats réels , Regardez la différence
  • Vous pouvez rapidement trouver ces erreurs en utilisant un débogueur ou d'autres outils utiles

Et puis, Vous pouvez vérifier différentes parties du Code en fonction de vos hypothèses , Et effectuer un test d'erreur pour trouver l'erreur .

Analyser et comprendre les causes des erreurs

J'ai trouvé unbugAprès, Vous devez comprendre pourquoi le Code a une telle erreur .

Cela vous aidera à mettre en place un système efficace .

Au contraire., Beaucoup de développeurs ne font que chercher sur Google ,Et directement à partir deStackOverflowLes réponses obtenues.

Il n'y a pas de problème dans certains cas , Mais il vaut mieux comprendre bug Pourquoi et pourquoi la solution fonctionne .

Compris.bug La raison pour laquelle bugOu supprimerbug Une étape importante sur la route .

Réparer ou supprimer bug

Après avoir trouvé et compris bugAprès la raison, On va réparer ça bug.

Parfois,Quand tu auras comprisbugAprès quoi, Vous n'aurez aucune pression pour trouver une solution .

Mais,Parfois, Notre compréhension, peu importe les efforts , Aucune solution trouvée .

Au lieu de perdre du temps , Que diriez - vous de chercher sur Google des informations erronées ou tout ce que vous jugez approprié .

Vous pouvez aussi demander à quelqu'un d'autre , Parce que les autres ont tendance à avoir des opinions différentes . Ils sont neutres , Cette neutralité aide à réparer certains bug.

Alors..., Google un instant !

Réparer un bug Il y a toujours une grande excitation .

Mais ne vous laissez pas emporter par l'excitation , Parce que réparer un bugPeut provoquer un autrebug.

Alors..., Tout d'abord, assurez - vous de ne pas poser un autre problème au programme .

C'est pourquoi il est important d'automatiser les tests .

Après mise en service

Après le débogage, vous devez prévoir ce qui pourrait se produire dans le programme que vous avez écrit. bug.

Il fait référence à tous les mécanismes que vous pouvez utiliser , Pour s'assurer que l'inconnu bug Facile à suivre ou à gérer avant de mettre en danger le système ou l'entreprise .

La question est maintenant de savoir comment ?Oui., Avec le système de suivi des erreurs .

Vous devriez avoir un système de suivi des erreurs dans la production , Pour que vous puissiez facilement repérer les erreurs , Parce qu'elles apparaissent après que votre application a été poussée à la production .

Il y a beaucoup de traceurs d'erreurs , Ils n'ont besoin que d'une recherche sur Internet . Mais voici quelques - uns que tout le monde peut voir .

  • www.sentry.io
  • www.honeybadger.io
  • www.pypi.org
  • www.airbrake.io
  • www.logrocket.com

Il y a tellement de traceurs d'erreurs , Vous n'avez qu'à choisir celui qui vous convient le mieux .

Conclusion

Le débogage est une compétence importante que tous les développeurs de logiciels doivent développer .

C'est le noyau du codage ,Si vous faites du bon travail, Ça fait de toi un meilleur développeur .

Pour être un bon débogueur , Vous devez apprendre autant de méthodes de débogage que possible , Beaucoup de méthodes dont j'ai discuté dans cet article .

Il est temps de devenir un excellent développeur de logiciels , Et le débogage peut vous aider sur ce chemin .

Maintenant, Il suffit de tout mettre en pratique , Pour être un bon débogueur , Vos compétences en développement de logiciels sont différentes .

\
原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/172/202206211929481453.html