Как бы вы порефакторили этот кусок кода?
boolean extendsReal = false;
boolean abstractManager = false;
if ( someObject.className == null ) {
out.println(" extends TransportImpl<" + (isPKeyLong ? "Long" : "Integer") + ">");
} else if ( someObject.className.contains("AbstractManager") ) {
out.println(" extends " + someObject.className + "<" + (isLong ? "Long" : "Integer") + ">");
abstractManager = true;
extendsReal = true;
} else {
out.println(" extends " + someObject.className);
extendsReal = true;
}
Уже порефакторили? Хотите глянуть как это сделал я?
Читаем дальше...
String genericType = (isLong ? "<long>" : "<integer>");
boolean extendsReal = someObject.className != null;
boolean abstractManager = extendsReal && someObject.className.contains("AbstractManager");
String className = (extendsReal)? someObject.className : "TransportImpl";
String genericTypeString = (!extendsReal || abstractManager) ? genericType : "";
out.println(" extends " + className + genericTypeString);
Комментариев нет:
Отправить комментарий