Prenons, par exemple, une constante qui détient une limite supérieure sur la durée qui permet un certain traitement.
Avant correction
public static final long ACCEPT_TIME_LIMIT = 259200000L;
comment c'est? Savez-vous ce que vous entendez en regardant simplement ce nombre?
modifié
public static final long ACCEPT_TIME_LIMIT = 3 * 24 * 60 * 60 * 1000;
Et si c'était écrit comme ça? À 24 * 60 * 60, vous pouvez voir le "nombre de secondes par jour", et lorsque vous le multipliez par 1000, vous pouvez voir "millisecondes", et lorsque vous le multipliez par 3, vous pouvez voir "Ah, c'est une milliseconde qui représente 3 jours". Je peux imaginer. Lorsque vous avez une valeur comme constante, vous avez tendance à n'écrire que la valeur du résultat final d'un calcul. En le démontant correctement et en l'écrivant, il est facile pour le réviseur de le faire correspondre avec les spécifications au moment de la révision du code, et la signification des nombres peut être comprise simplement en la regardant au moment de la maintenance dans le futur.
Avant correction
//Traiter uniquement lorsque 100 ou plus et 500 ou moins
if(value >= 100 && value < 500){
//En traitement
}
modifié
//Traiter uniquement lorsque 100 ou plus et 500 ou moins
if(100 <= value && value < 500){
//En traitement
}
Lorsque les humains reconnaissent les nombres, imaginez une ligne droite numérique où les nombres sont plus petits vers la gauche et plus grands vers la droite. Par conséquent, lors de l'indication de la plage de nombres, la lisibilité peut être améliorée en les échangeant dans l'ordre des nombres.
Cependant, pour certaines personnes, il est plus facile à comprendre dans le format du prédicat sujet sous la forme "la valeur est de 100 ou plus et la valeur est inférieure à 500". Il est préférable d'utiliser celui qui est facile à comprendre pour chaque organisation.
Avant correction
public List<Long> getList(){
if(XXX == 0){
return null;
}
List<Long> list = new ArrayList<>();
for(i = 0; i < XXX; i++){
list.add(YYY);
}
}
modifié
public List<Long> getList(){
List<Long> list = new ArrayList<>();
for(i = 0; i < XXX; i++){
list.add(YYY);
}
return list;
}
Lorsque vous utilisez une méthode qui renvoie une liste ou une carte de quelque chose, le destinataire sera différent selon que la méthode retourne null ou non. Si vous ne retournez jamais null, vous n'avez pas à écrire ```if (list! = Null) `à chaque fois, et si vous voulez savoir si la liste est vide,`
list.size ( ) `` Cela suffit. À moins qu'il n'y ait une raison spécifique pour laquelle la nullité est importante, nous pensons que les méthodes qui sensibilisent les utilisateurs aux valeurs nulles peuvent améliorer la lisibilité.
Recommended Posts