同一 class 中的多个常量
Multiple constants in same class
我想知道在同一个 class 中使用最终常量的最佳方法是什么?因为我必须使用很多相同的 class 并且看起来非常网状,谢谢。
我怎样才能使它看起来更具可读性,因为如果我需要存储更多的变量,将会有很多......谢谢
public class Default {
private static final String CLASS_FILE_EXTENSION = ".class";
private static final String JAVA_PACKAGE = "java.";
private static final String NO_PREFIX = "";
private static final String SUFFIX = "sfx";
private static final String TEMP_SUFFIX = "tmp";
private static final String NO_PARAMETERS = "()";
private static final String STRING_DESCRIPTOR = "Ljava/lang/String;";
private static final String RETURNS_VOID = "V";
private static final String JAR = "jar";
private static final int ONLY = 0;
private static final int BUFFER_SIZE = 1024;
private static final int PACKAGE_LOOKUP = 0x8;
private static final int BASE_VERSION = 44;
private static final Class<?> NOT_FOUND = null;
private static final URL NOT_SEALED = null;
private final TypeDescription instrumentedType;
private final TypeAttributeAppender typeAttributeAppender;
private final AsmVisitorWrapper asmVisitorWrapper;
private final ClassFileVersion classFileVersion;
private final AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy;
private final AnnotationValueFilter.Factory annotationValueFilterFactory;
private final AnnotationRetention annotationRetention;
private final Implementation.Context.Factory implementationContextFactory;
private final MethodGraph.Compiler methodGraphCompiler;
private final TypeValidation typeValidation;
private final ClassWriterStrategy classWriterStrategy;
private final LatentMatcher<? super MethodDescription> ignoredMethods;
private final List<DynamicType> auxiliaryTypes;
private final ClassFileLocator classFileLocator;
public Default(..... etc)
没有 objective 可能的答案。需要考虑的几点:
在一个 class 中有很多常量可能意味着 class 做了很多工作。看看是否可以将 class 拆分为多个 classes 并根据这些 classes 中的用法声明常量。
由于所有这些都是私有字段,请查看它们是否真的在同一个 class 中被多次使用。如果不是,您可以直接使用字符串而不是为此设置常量。缺点是,以后如果想在不同地方的同一个class中再次使用它,你必须记住将它设为常量(这很容易忘记)。
(我不喜欢这个)我见过这样的情况,人们会有一个接口只是为了保存常量,然后 static import 它们进入 class 使用它。该接口就像常量的大垃圾场。
我想知道在同一个 class 中使用最终常量的最佳方法是什么?因为我必须使用很多相同的 class 并且看起来非常网状,谢谢。
我怎样才能使它看起来更具可读性,因为如果我需要存储更多的变量,将会有很多......谢谢
public class Default {
private static final String CLASS_FILE_EXTENSION = ".class";
private static final String JAVA_PACKAGE = "java.";
private static final String NO_PREFIX = "";
private static final String SUFFIX = "sfx";
private static final String TEMP_SUFFIX = "tmp";
private static final String NO_PARAMETERS = "()";
private static final String STRING_DESCRIPTOR = "Ljava/lang/String;";
private static final String RETURNS_VOID = "V";
private static final String JAR = "jar";
private static final int ONLY = 0;
private static final int BUFFER_SIZE = 1024;
private static final int PACKAGE_LOOKUP = 0x8;
private static final int BASE_VERSION = 44;
private static final Class<?> NOT_FOUND = null;
private static final URL NOT_SEALED = null;
private final TypeDescription instrumentedType;
private final TypeAttributeAppender typeAttributeAppender;
private final AsmVisitorWrapper asmVisitorWrapper;
private final ClassFileVersion classFileVersion;
private final AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy;
private final AnnotationValueFilter.Factory annotationValueFilterFactory;
private final AnnotationRetention annotationRetention;
private final Implementation.Context.Factory implementationContextFactory;
private final MethodGraph.Compiler methodGraphCompiler;
private final TypeValidation typeValidation;
private final ClassWriterStrategy classWriterStrategy;
private final LatentMatcher<? super MethodDescription> ignoredMethods;
private final List<DynamicType> auxiliaryTypes;
private final ClassFileLocator classFileLocator;
public Default(..... etc)
没有 objective 可能的答案。需要考虑的几点:
在一个 class 中有很多常量可能意味着 class 做了很多工作。看看是否可以将 class 拆分为多个 classes 并根据这些 classes 中的用法声明常量。
由于所有这些都是私有字段,请查看它们是否真的在同一个 class 中被多次使用。如果不是,您可以直接使用字符串而不是为此设置常量。缺点是,以后如果想在不同地方的同一个class中再次使用它,你必须记住将它设为常量(这很容易忘记)。
(我不喜欢这个)我见过这样的情况,人们会有一个接口只是为了保存常量,然后 static import 它们进入 class 使用它。该接口就像常量的大垃圾场。