我有一个在所有项目中重复使用的类。我应该把它变成一个库组件吗?将单个类设为库是否值得,还是太过分了?
编辑:使其成为一个库的另外两个原因: 1.我的最新项目中还有 2 个附加组件,如果此类是一个组件,他们也将能够使用它 2. 我正在考虑向该类添加基于注释的附加功能,这将允许其客户端添加注释并以更少的编写量使用它。这将需要一个额外的类或一组类,这将使其更适合组件,不是吗?
这是我正在谈论的类(class):
/**
* Allows for logcat output to be turned off centrally by switching the value of
* a boolean variable for Store builds
*/
public class JKLog {
/**
* Set to false for Google Play Store builds
*/
public static final boolean LOGGING_ALLOWED = true;
/**
* This tag will be used as the automatically passed first parameter to the custom log library used
* Whenever we need to call the log methods only passing a message parameter
*/
public static final String DEFAULT_LOGGING_TAG = "MyApp";
private static final String ERROR_PARAMETER_IS_NULL_OR_EMPTY = "Parameter passed is either null or empty";
public static void logDEvenWhenLoggingIsDisabled(String tag, String message) {
if (tag != null && message != null) {
Log.d(tag, message);
} else if (message != null || !message.contentEquals("")) {
Log.d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void logEEvenWhenLoggingIsDisabled(String tag, String message) {
if (tag != null && message != null) {
Log.e(tag, message);
} else if (message != null || !message.contentEquals("")) {
Log.e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void d(Object message) {
if (message != null) {
d(DEFAULT_LOGGING_TAG, message.toString());
} else {
d(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void e(Object message) {
if (message != null) {
e(DEFAULT_LOGGING_TAG, message.toString());
} else {
e(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void i(Object message) {
if (message != null) {
i(DEFAULT_LOGGING_TAG, message.toString());
} else {
i(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void w(Object message) {
if (message != null) {
w(DEFAULT_LOGGING_TAG, message.toString());
} else {
w(DEFAULT_LOGGING_TAG, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void d(String tag, Object message) {
if (message != null) {
d(tag, message.toString());
} else {
d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void e(String tag, Object message) {
if (message != null) {
e(tag, message.toString());
} else {
e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void i(String tag, Object message) {
if (message != null) {
i(tag, message.toString());
} else {
i(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void w(String tag, Object message) {
if (message != null) {
w(tag, message.toString());
} else {
w(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void d(String tag, String message) {
if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
Log.d(tag, message);
} else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
Log.d(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void e(String tag, String message) {
if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
Log.e(tag, message);
} else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
Log.e(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void i(String tag, String message) {
if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
Log.i(tag, message);
} else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
Log.i(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
public static void w(String tag, String message) {
if (LOGGING_ALLOWED && tag != null && message != null && !message.contentEquals("")) {
Log.w(tag, message);
} else if (LOGGING_ALLOWED && (message == null || message.contentEquals(""))) {
Log.w(tag, ERROR_PARAMETER_IS_NULL_OR_EMPTY);
}
}
} // End of Class
最佳答案
您可以从创建此类的库开始。当您获得越来越多的通用组件时,您可以向该库添加新类。单个类,这就是大多数非杰出库的开始方式。
关于java - 我有一个在所有项目中重复使用的类。我应该把它变成一个库组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507386/