[JAVA] Schreiben Sie einfach zu wartenden Code (Teil 3)

1. Worüber man diesmal sprechen soll

2. Techniksammlung

2.1. Schreiben Sie Formeln für Konstanten und Variablen, wenn es eine Basis gibt

Stellen Sie sich zum Beispiel eine Konstante vor, die eine Obergrenze für die Zeitdauer enthält, die eine gewisse Verarbeitung ermöglicht.

Vor der Korrektur


public static final long ACCEPT_TIME_LIMIT = 259200000L;

Wie ist das? Wissen Sie, was Sie meinen, wenn Sie sich nur diese Nummer ansehen?

Überarbeitet


public static final long ACCEPT_TIME_LIMIT  = 3 * 24 * 60 * 60 * 1000;

Was ist, wenn es so geschrieben ist? Bei 24 * 60 * 60 sehen Sie die "Anzahl der Sekunden pro Tag". Wenn Sie sie mit 1000 multiplizieren, sehen Sie "Millisekunden". Wenn Sie sie mit 3 multiplizieren, sehen Sie "Ah, es ist eine Millisekunde, die 3 Tage darstellt". Ich kann mir vorstellen. Wenn Sie einen Wert als Konstante haben, neigen Sie dazu, nur den Wert des Endergebnisses einer Berechnung zu schreiben. Wenn Sie dies ordnungsgemäß zerlegen und schreiben, kann der Prüfer es leicht mit den Spezifikationen zum Zeitpunkt der Codeüberprüfung abgleichen, und die Bedeutung der Zahlen kann verstanden werden, wenn Sie sie zum Zeitpunkt der zukünftigen Wartung betrachten.

2.2 Lassen Sie uns eine Folge von Vergleichsoperatoren entwickeln, die Bereiche darstellen

Vor der Korrektur


//Nur verarbeiten, wenn 100 oder mehr und 500 oder weniger
if(value >= 100 && value < 500){
  //wird bearbeitet
}

Überarbeitet


//Nur verarbeiten, wenn 100 oder mehr und 500 oder weniger
if(100 <= value && value < 500){
  //wird bearbeitet
}

Wenn Menschen Zahlen erkennen, stellen Sie sich eine gerade Linie vor, in der die Zahlen nach links kleiner und nach rechts größer sind. Wenn der Zahlenbereich angegeben wird, kann daher die Lesbarkeit verbessert werden, indem sie in der Reihenfolge der Zahlen ausgetauscht werden.

Für einige Menschen ist es jedoch einfacher, das Prädikatformat des Subjekts in Form von "Wert ist 100 oder mehr und Wert ist weniger als 500" zu verstehen. Verwenden Sie am besten die für jede Organisation leicht verständliche.

2.3. Wenn Sie eine Methode erstellen, die List oder Map zurückgibt, geben Sie nicht so viel null wie möglich zurück

Vor der Korrektur


public List<Long> getList(){

  if(XXX == 0){
    return null;
  }

  List<Long> list = new ArrayList<>();
  for(i = 0; i < XXX; i++){
    list.add(YYY);
  }

}

Überarbeitet


public List<Long> getList(){

  List<Long> list = new ArrayList<>();
  for(i = 0; i < XXX; i++){
    list.add(YYY);
  }

  return list;

}

Wenn Sie eine Methode verwenden, die eine Liste oder Karte von etwas zurückgibt, ist der Empfänger unterschiedlich, je nachdem, ob die Methode null zurückgibt oder nicht. Wenn Sie niemals null zurückgeben, müssen Sie nicht jedes Mal `if (list! = Null)` schreiben, und wenn Sie wissen möchten, ob die Liste leer ist, `list.size ( ) `Ist genug. Sofern es keinen bestimmten Grund gibt, warum Nullheit wichtig ist, glauben wir, dass Methoden, die Benutzer auf Nullen aufmerksam machen, die Lesbarkeit verbessern können.

Recommended Posts

Schreiben Sie einfach zu pflegenden Code (Teil 4)
Schreiben Sie einfach zu wartenden Code (Teil 3)
Schreiben wir einen Code, der einfach zu pflegen ist (Teil 2)
Code, der schwer zu debuggen und zu analysieren ist
Denken Sie an Testcode, der durch den Komparator-Test leicht zu verstehen ist
Wie man Code schreibt, der objektorientiertes Ruby denkt
Einfach zu wartender FizzBuzz
Wie man guten Code schreibt
Java 14 neue Funktionen, mit denen Code geschrieben werden kann
[Java] Code, der schwer zu bemerken, aber furchtbar langsam ist
Die Funktion ist sehr einfach zu bedienen
So schreiben Sie leicht verständlichen Code [Zusammenfassung 3]
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
AtCoder heißt TLE und spricht darüber, wie man schönen Code schreibt
So schreiben Sie Testcode mit Basic-Zertifizierung
Schreiben Sie zur Implementierung den Test und codieren Sie den Prozess
Verwenden Sie stream, um zu überprüfen, ob SimpleDateFormat threadsicher ist