Java SE 8 kommt mit einem neuen Mechanismus für Daten, die Einführung LocalDate, LocalTimeund LocalDateTimeKlassen Zeitmomente darzustellen. Um einen solchen Zeitpunkten eine Reihe von Methoden zu manipulieren sind gegeben: LocalDate.plusDays(...), LocalDate.minusDays(...)und so weiter.
Ich habe immer gedacht, dass gute Praxis darin besteht, Methoden nach Verben zu benennen, die ihren Zweck beschreiben, da Methoden tatsächlich auszuführende Operationen sind, die eine Aktion ausführen . Nur zu erwähnen, wenn Sie Klassen wie betrachten StringBuilder, zum Beispiel Methoden Namen sind append, insert, delete...
Aus diesem Grunde ist es mir nicht richtig klingen , ein Verfahren zu benennen plusDaysstatt sumDays, minusDaysstatt subtractDays. Ich finde es nur sehr ärgerlich? Was denkst du?
Der einzige Grund, den ich mir vorstellen kann, ist, dass Datumsangaben unveränderliche Objekte sind. Wenn Sie also aufrufen plusDays, fügen Sie dem ursprünglichen Objekt keine Tage hinzu, sondern erstellen ein neues Objekt mit neuen Eigenschaften. Dies ist jedoch sehr subtil.
sqrtist es nur ein Wort, das Programmierer erkennen und kennen müssen. Das englische Wort ist übrigens "Quadratwurzel". Aber Dinge nach dem zu benennen, was im Englischen selbstverständlich ist, ist nicht gut. Nehmen wir zum Beispiel das Wort "illegal", ein perfektes englisches Wort. Wenn jedoch jemand seine Methode benennt, kann isIllicitich sagen, dass ich bei jedem Blick auf diesen Methodenaufruf meine Augäpfel herausreißen möchte. Es sieht einfach schrecklich aus und es muss einen besseren Weg geben, die Idee auszudrücken.
sumklingt in diesem Zusammenhang falsch. Ich bevorzuge .net AddDays.
Math.addExact(1, 2)weil du sagst "addiere 1 und 2". tomorrow.plusDays(2)weil du sagst "morgen plus 2 tage". Wenn addExactein Mitglied von Integerirgendwie gewesen wäre, wäre es gewesen 1.plusExact(2).
plusDays, ein neues Datum x Anzahl von Tagen in die Zukunft zurückzugeben, wohingegen addDaysich erwarten könnte, das ursprüngliche Objekt zu mutieren. Das bin nur ich, ich kenne mich mit Java nicht so gut aus.
sqrtdie die Quadratwurzel nimmt. Die Benennung dieser MethodetakeSqrtmag nach Ihrer Regel sinnvoll erscheinen, aber die Benennung würde die Methode weder lesbarer noch klarer machen.