J'ai de nombreuses occasions de lire des sources écrites par d'autres (principalement des sources provenant de fournisseurs) en raison de mon travail, mais je me sens souvent mal à l'aise avec «comment nommer les variables» qui est l'une des causes des difficultés de lecture. J'ai essayé de lister ceux qui étaient chers.
Bien sûr, je veux aussi faire attention à la source que j'ai écrite afin de ne pas me confondre plus tard.
Les modèles sont répertoriés ci-dessous.
× res -> 〇result △ prop -> 〇property × pat -> 〇pattern × enz -> 〇enzyme × idx-> 〇 index (Ajouté 2019/7/30) × tbl-> 〇 table (Ajouté 2019/8/24)
Je ne le savais pas autrefois, lorsque les ressources de la machine étaient limitées, et de nos jours, la lisibilité est considérablement réduite, il n'y a donc guère de mérite à l'omettre. «accessoire» n'est pas si inconfortable, mais du point de vue de la cohérence, «propriété» est moins inconfortable. Pour "enz", je pense qu'il est normal d'omettre (probablement) des mots importants que vous rencontrez rarement.
× propaty -> 〇property × canceld -> 〇canceled × spacified -> 〇specified
Bien que "propaty" ait semblé étrange dès le début, ce n'était pas une erreur courante, donc il m'a fallu un certain temps pour remarquer qu'il était mal orthographié, et quand je l'ai remarqué, ma poitrine était rafraîchie. Je comprends que je veux faire "annulé" un ancien formulaire, mais je veux que vous l'écrivez correctement. De nombreux outils de développement récents signalent également des fautes d'orthographe, vous pouvez donc les utiliser.
× count -> 〇progressCount × max -> 〇progressCountMax etc
Je pense que la portée peut être étroite, comme dans une petite boucle ou une fonction, mais si vous l'utilisez pour une variable d'instance d'une grande classe, vous devez écrire un peu plus concrètement, lors de la lecture de la partie pertinente, "Quelle variable Ce sera ".
Cela s'applique non seulement aux types primitifs, mais également aux variables de type classe. Par exemple, comme nom de la variable de type de classe de la classe CalculationResult,
× result -> 〇calculationResult
Cela devrait être concret. Avec le premier, vous ne pouvez pas imaginer immédiatement quel sera le résultat.
Il est normal de lui donner un nom de variable de type booléen appelé isValid, mais il contient maintenant "true" s'il n'est pas valide et "false" s'il est valide. On ne peut que dire que c'est hors de question. Je me sens même convaincu quand cela arrive ...
boolean isValid = false;
if(!inputFile.exists()){
isValid = true;
}
if(isValid){
printUsage();
}
PostScript 30/7/2019 Plus tard, j'ai eu l'occasion de regarder la source d'origine, qui s'appelait exitFlag au lieu de isValid. Cela semble être une ligne de frappe que j'ai changé le nom pour l'utiliser dans un autre but, mais je n'ai pas changé la signification de vrai / faux. Le développeur d'origine et le modificateur sont des personnes différentes. L'anti-pattern commun. Garçon, gardez votre point de vue élevé.
Comme je lis souvent la source en imaginant comment les données seront traitées, je pense qu'il est souhaitable de connaître le but et le type d'un coup d'œil à partir du nom de la variable. Outre les types primitifs, il existe des tableaux, des listes, des cartes, etc. qui sont souvent utilisés dans le traitement des données. List est XX List (XX est le nom qui représente ce qui est stocké dans List), Map est XX △△ Map (XX est le nom qui représente la clé de Map, △△ est le nom qui représente la valeur de Map) Il semble facile de comprendre s'il est attaché.
L'exemple suivant est donné pour le type de carte.
× names -> 〇 nameValidMap
Il s'avère que ce dernier est au moins une carte qui stocke la correspondance entre le nom et quelque chose, mais le premier ne le dit pas du tout. Je l'ai mal compris comme une liste, et comme je l'ai lu? Du coup, je vais revenir à la partie définie et répéter la boucle de confirmation.
Elle est similaire à la section précédente, mais en suivant le flux de traitement des données, il est important de comprendre si la variable est une donnée «unique» ou une donnée «plurielle». Par conséquent, il est beaucoup plus facile de comprendre s'il s'agit de données singulières, et s'il s'agit d'une variable qui peut stocker plusieurs données telles qu'un tableau ou une liste, elle doit être sous forme multiple.
C'est une fonction principale familière en Java. C'est écrit comme ça.
public static void main(String[] option){
}
Vous sentez-vous mal à l'aise? Oui, le nom de l'argument de la fonction principale est changé en un autre nom même si le prix du marché est fixé comme "argv".
Les arguments de la fonction principale contiennent les "arguments" du programme, pas les "options" (même si elles sont stockées en conséquence).
Je me demandais bien où cette variable appelée option était définie. Si vous souhaitez changer le nom que vous utilisez de manière idiomatique, vous avez besoin d'une raison très positive.
Il y a beaucoup d'autres sources avec lesquelles je lutte, comme «comment insérer des lignes vides», «comment définir des variables», «comment écrire des commentaires» et «l'ordre de traitement», mais une autre opportunité. Je veux le résumer en.
Recommended Posts