За напълно бездържавен помощен клас в Java предлагам класът да бъде деклариран public
и final
и да има частен конструктор, за да предотврати инстанцирането. Ключовата дума final
предотвратява подкласиране и може да подобри ефективността по време на изпълнение.
Класът трябва да съдържа всички static
методи и не трябва да се декларира abstract
(тъй като това би означавало, че класът не е конкретен и трябва да бъде имплементиран по някакъв начин).
На класа трябва да се даде име, което съответства на неговия набор от предоставени помощни програми (или „Util“, ако класът трябва да предостави широк набор от некатегоризирани помощни програми).
Класът не трябва да съдържа вложен клас, освен ако вложеният клас трябва да бъде и полезен клас (въпреки че тази практика е потенциално сложна и вреди на четливостта).
Методите в класа трябва да имат подходящи имена.
Методите, използвани само от самия клас, трябва да бъдат частни.
Класът не трябва да има нефинални/нестатични класови полета.
Класът може също така да бъде импортиран статично от други класове, за да се подобри четимостта на кода (това обаче зависи от сложността на проекта).
Пример:
public final class ExampleUtilities {
// Example Utility method
public static int foo(int i, int j) {
int val;
//Do stuff
return val;
}
// Example Utility method overloaded
public static float foo(float i, float j) {
float val;
//Do stuff
return val;
}
// Example Utility method calling private method
public static long bar(int p) {
return hid(p) * hid(p);
}
// Example private method
private static long hid(int i) {
return i * 2 + 1;
}
}
Може би най-важното от всичко е, че документацията за всеки метод трябва да бъде точна и описателна. Вероятно методите от този клас ще се използват много често и е добре да имате висококачествена документация, която да допълва кода.
person
initramfs
schedule
09.08.2014
Should I do nothing?
Как дзен. - person awwsmm   schedule 07.12.2018