[* Code lisible * Lien d'achat Amazon](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83 % AB% E3% 82% B3% E3% 83% BC% E3% 83% 89-% E2% 80% 95% E3% 82% 88% E3% 82% 8A% E8% 89% AF% E3% 81% 84% E3% 82% B3% E3% 83% BC% E3% 83% 89% E3% 82% 92% E6% 9B% B8% E3% 81% 8F% E3% 81% 9F% E3% 82% 81% E3% 81% AE% E3% 82% B7% E3% 83% B3% E3% 83% 97% E3% 83% AB% E3% 81% A7% E5% AE% 9F% E8% B7% B5% E7% 9A% 84% E3% 81% AA% E3% 83% 86% E3% 82% FA% E3% 83% 8B% E3% 83% 83% E3% 82% AF-Théorie-pratique-Boswell / dp / 4873115655 / ref = sr_1_1? adgrpid = 52747835709 & dchild = 1 & gclid = CjwKCAjw2Jb7BRBHEiwAXTR4jcm6iePgNgKHDmEvEtkvsB5IJ_skZ0aSoztpmqccbdEWkPh9VInvSRoC2DQQAvD_BwE & hvadid = 338561722060 & hvdev = c & hvlocphy = 1009309 & hvnetw = g & hvqmt = e & hvrand = 10166295044081564502 & hvtargid = kwd-334307148361 & hydadcr = 16038_11170849 & jp-ad-ap = 0 & keywords =% E3% 83% AA% E3% 83% BC% E3 % 83% 80% E3% 83% 96% E3% 83% AB% E3% 82% B3% E3% 83% BC% E3% 83% 89 & qid = 1600565375 & sr = 8-1 & tag = googhydr-22)
Ce n'est pas une note approximative, mais une petite note détaillée!
Point
Il est important de prendre du recul et de se poser la question!
Point
Essayez de lire les informations simplement en regardant le nom
・ Choisissez un mot clair → Évitez les mots vides. «Obtenir» n'est pas un mot très clair. Je ne sais pas où trouver?
Par exemple, au lieu de get, utilisez fetch / download selon la situation.
→ Évitez les noms vides tels que tmp et foo. Donnez-lui un nom qui représente un objectif ou une valeur spécifique. Valeur de retour retval × sum_squares○
Donc, lorsque vous utilisez un nom générique tel que tmp / it / retval, soyez prêt pour une bonne raison! Il est absurde de l'utiliser uniquement par négligence! "Nommer le pouvoir"!
→ Utilisez un nom plus approprié
→ S'il s'agit d'informations importantes que vous devez absolument renseigner, vous pouvez les ajouter dans "Nom de la variable". L'unité de valeur est plus claire que delay → delay_secs. La même chose est vraie en termes de sécurité. mot de passe → mot de passe en clair (le mot de passe est du texte brut, il doit donc être chiffré avant le traitement)
Ajoutez des attributs pour lesquels vous devez comprendre la signification des variables.
→ C'est tout simplement difficile à retenir, cela occupe l'écran et la quantité de code augmente. Si la portée est petite, vous pouvez utiliser un nom court. Si la portée de l'identifiant est grande, le nom doit contenir suffisamment d'informations pour le clarifier. Il est facile de l'omettre, mais les abréviations spécifiques au projet ne sont pas acceptables. Je ne comprends pas les nouveaux membres.
→ Vous pouvez également insérer des informations dans le nom en utilisant des traits de soulignement, des tirets et des lettres majuscules. L'équipe décide des règles à utiliser. La cohérence est importante.
Par exemple, les variables des membres de la classe sont soulignées pour les distinguer des variables locales.
Demandez-vous: "Le nom n'est-il pas confondu avec autre chose?" Rechercher activement les malentendus.
Utilisez min et max pour inclure des limites.
Utilisez le premier et le dernier pour spécifier la plage.
Utilisez begin et end pour les plages inclusives / exclusives.
Clarifiez la signification de true et false lors du choix des noms pour les variables booléennes et les fonctions qui renvoient des valeurs booléennes. Exemple dangereux bool read_password = true; Il y a deux interprétations ・ Le mot de passe doit être lu à partir de maintenant ・ Le mot de passe a déjà été lu.
Ici, il est préférable d'utiliser need_password au lieu de read.
Le premier nom est que la personne qui lit le code peut comprendre correctement vos intentions. Avant de décider d'un nom, assurez-vous que le nom n'est pas mal compris en pensant aux opinions dissidentes. Faites également attention aux attentes de l'utilisateur pour le mot. Exemple: Get () et size () devraient avoir des méthodes légères.
Trois principes • Utilisez une mise en page cohérente avec les modèles auxquels le lecteur est habitué. -Faire ressembler les codes similaires. -Faites des codes connexes en blocs.
De toute évidence, un beau code est plus facile à utiliser. Si vous pouvez le scanner rapidement, vous pouvez créer un code facile à lire pour tout le monde.
Un bon code peut améliorer non seulement la surface mais aussi la structure du code.
L'alignement des colonnes peut faciliter la lecture du code. Cela facilitera la recherche de fautes de frappe.
→ Afin d'avoir un aperçu rapide du code, vous pouvez le diviser en groupes et créer des "unités". Code facile à comprendre.
Cependant, il est important de noter qu'un style cohérent est plus important qu'un style «correct». Même si vous l'écrivez correctement et facilement, il sera difficile de le voir et de le lire si vous l'écrivez dans un style décousu dans son ensemble.
Vous pouvez lire le code rapidement et facilement en "façonnant" le code d'une manière cohérente et significative.
・ Si vous faites la même chose avec plusieurs blocs de code, faites de la silhouette la même personne ・ L'alignement des "colonnes" du code facilite l'obtention d'une vue d'ensemble. ・ Ce qui était aligné comme A / B / C à un endroit ne devrait pas être aligné comme B / C / A à un autre endroit. Choisissez une commande significative et gardez toujours cette commande -Utilisez des lignes vides pour diviser de grands blocs en "paragraphes" logiques.
Les noms terribles changent de nom sans commentaire → Les commentaires ne sont pas utilisés pour compenser des noms terribles. Si tel est le cas, remplacez-le par un nom plus clair.
Alors, que dois-je écrire comme commentaire? → Les bons commentaires sont pour "enregistrer vos pensées". Vous devez écrire des "pensées importantes" lors de l'écriture de code
Vous pouvez expliquer pourquoi le code est sale. Un commentaire qui encourage quelqu'un à y remédier.
→ N'hésitez pas à écrire dans les commentaires ce que vous souhaitez faire du code. → Peut informer la qualité du code et indiquer le sens de l'amélioration.
→ Lors de la définition d'une constante, que signifie cette constante? Il existe souvent un contexte expliquant pourquoi ils ont cette «valeur». → Il est important de noter dans les commentaires ce que vous pensiez dans votre esprit lorsque vous avez décidé du nom de la constante.
Ajoutez un commentaire ici pour clarifier la réponse.
→ Prévoyez à l'avance les problèmes auxquels vous serez confronté lors de l'utilisation du code et annoncez-les dans les commentaires.
Les nouveaux membres de l'équipe doivent comprendre le code. Comment les classes fonctionnent-elles ensemble? Tel Ceci est un commentaire à écrire dans votre code.
Un document court et approprié convient parfaitement. Mieux que rien.
Les commentaires qui résument bien le code de bas niveau sont également importants.
Écrivez tout ce qui vous aide à comprendre le code!
Blocage de l'écrivain = je ne peux pas écrire parce que je suis coincé
La seule façon de surmonter cela est de commencer à écrire. Écrivez ce que vous pensez et laissez-le en commentaire. 3 étapes pour rédiger un commentaire
Le but du commentaire est d'aider le lecteur à comprendre l'intention du code.
・ Que peut-on extraire du code ・ "Commentaire auxiliaire" pour compléter un code terrible → Modifier le code au lieu d'écrire un commentaire
Mes pensées à enregistrer · Écrivez pourquoi le code ressemble à ceci au lieu de l'inverse -Indiquer les défauts de code en utilisant des notations telles que TODO:, XXX: ・ Contexte lié aux valeurs constantes
Pensez du point de vue du lecteur ・ Ajoutez un commentaire en prévision de ce que la personne qui lit le code pense "Quoi?" ・ Documentez un comportement qui surprendra le lecteur moyen -Ecrire un commentaire "grande image" sur le fichier ou la classe -Commentez le bloc de code pour le résumer afin que le lecteur ne soit pas obsédé par les détails.
Comment puis-je l'écrire avec précision et concision? Les commentaires doivent avoir un rapport information / zone élevé.
Dois-je expliquer en utilisant trois lignes? → Si vous pouvez expliquer en une seule ligne, utilisez une seule ligne.
Je ne sais pas ce que «ça» ou «ça» signifie. Par exemple //データをキャッシュに入れる。ただし先にそのサイズをチェックする。 Je ne sais pas ce que «cela» signifie dans ce cas. C'est déroutant, donc c'est plus facile à comprendre si vous mettez la nomenclature dans les synonymes.
//データをキャッシュに入れる。ただし先にデータサイズをチェックする。
Les commentaires exacts et la concision sont souvent compatibles.
Exemple
//これまでにクロールしたURLかどうかによって優先度を変える ↓ //これまでにクロールしていないURLの優先度を高くする
Le fond est simple, court et direct.
Commentaires qui écrivent simplement le comportement du code tel qu'il est ✖︎
Écrivez dans les commentaires ce que vous pensiez en écrivant le code. Cela permet de remarquer facilement que le code et les commentaires sont incohérents (ce qu'on appelle des bogues). Les commentaires jouent le rôle d'une inspection redondante.
Rédigez un commentaire contenant autant d'informations que possible dans une petite zone
・ Évitez les synonymes tels que «ça» et «ceci» qui peuvent faire référence à plusieurs choses ・ Expliquez le fonctionnement de la fonction aussi précisément que possible. ・ Sélectionnez avec soin les exemples d'entrée / sortie réels à inclure dans les commentaires · L'intention du code est écrite à un niveau élevé et non à un niveau de détail -Utilisez les commentaires en ligne pour les arguments peu clairs. ・ Gardez les commentaires concis avec des mots et des expressions qui ont de nombreuses significations.
Rendre le flux de contrôle tel que les conditions et les boucles aussi "naturels" que possible. Écrivez pour que le lecteur du code ne s'arrête pas ou ne relise pas!
if (length >= 10)
Ou
if (10 =< length)
Évidemment, le premier est plus facile à lire.
Il existe une ligne directrice pour cela.
Côté gauche → Formule «cible d'enquête». Changement. Côté droit → Formule "Cible de comparaison". Cela ne change pas grand-chose.
C'est la même chose que l'utilisation de l'anglais.
Il y a supériorité et infériorité dans l'ordre
・ Utilisez un système affirmatif plutôt qu'une forme de condition négative. Par exemple, utilisez if (debug) au lieu de if (! Debug). ・ Écrivez d'abord des conditions simples. Facile à voir car if et else sont affichés sur le même écran. ・ Écrivez les conditions qui attirent l'attention ou se démarquent en premier
Selon la situation, il peut y avoir des conflits, auquel cas c'est à votre discrétion.
Il a l'avantage d'être organisé en une seule ligne, mais au contraire, il est difficile à lire et à parcourir avec un débogueur.
Raccourcissez le temps nécessaire aux autres pour comprendre plutôt que de raccourcir le nombre de lignes
Certaines personnes pensent que vous ne devriez pas utiliser plusieurs instructions return dans une fonction, mais c'est faux. Il est bon de revenir rapidement de la fonction.
Le code imbriqué est difficile à comprendre. Regardez le code à jour lorsque vous apportez des modifications. Prenez du recul et regardez le tout.
Pouvez-vous suivre le déroulement de l'exécution?
L'utilisation de composants rend difficile le suivi du code. Thread → Je ne sais pas quel code sera exécuté quand. Gestionnaire de signal / d'interruption → Un autre code peut être exécuté. Exception → Divers appels de fonction sont sur le point de se terminer
L'utilisation de ces composants peut rendre votre code plus facile à lire et moins redondant, en revanche. Si vous ne l'utilisez pas correctement, vous perdrez la trace du code.
Divisez l'énorme formule en morceaux faciles à avaler
Attention aux codes "intelligents". Plus tard, cela devient déroutant lorsque d'autres lisent le code.
Il est difficile de comprendre une formule énorme à la fois. Le moyen le plus simple de le faire est d'introduire des "variables explicatives" Les variables explicatives qui contiennent des valeurs d'expression élevées présentent trois avantages ・ Une énorme formule peut être divisée · Vous pouvez documenter votre code en expliquant l'expression avec un nom concis ・ Il devient plus facile pour le lecteur de reconnaître le «concept» principal du code.
Une autre option consiste à utiliser la loi de De Morgan pour manipuler la logique.
Si vous voyez une logique compliquée, divisez-la de manière agressive!
Supprimer la variable
Le code supprime les variables qui ne sont pas lisibles. → Le code sera concis et facile à comprendre.
Réduisez la portée des variables.
Il est correct d'éviter les variables globales. → Il est difficile de savoir où et comment il est utilisé. C'est une bonne idée de "réduire la portée" de toutes les variables, pas seulement des variables globales.
Réduisez le nombre de lignes de code qui peuvent voir la variable autant que possible.
Il est recommandé de limiter autant que possible l'accès pour réduire le code qui rend les variables visibles. → Pourquoi? Parce que vous pouvez réduire les variables auxquelles vous devez penser à la fois
Ecrire les variables une seule fois
→ Les variables qui "ne changent pas de façon permanente" sont faciles à gérer.
Plus vous manipulez de variables d'endroits, plus il est difficile de déterminer la valeur actuelle.
Les variables de programme se développent rapidement et ne peuvent plus être suivies Le code est plus facile à lire si vous réduisez les variables et le rendez aussi léger que possible
・ Supprimer les variables dérangeantes -Rendre la portée de la variable aussi petite que possible → Déplacer vers une position qui ne peut être vue qu'à partir de quelques lignes de code de la variable. -Utiliser une variable qui n'est écrite qu'une seule fois → Si vous définissez une valeur pour la variable une seule fois (ou const,), le code sera plus facile à comprendre.
L'ingénierie est la division de grands problèmes en plus petits et la construction de solutions pour chacun.
Ce chapitre consiste à rechercher et à extraire activement des sous-problèmes non liés.
Recommended Posts