Wir finden in der Praxis leider immer wieder die wildesten Code Ausprägungen. Teilweise derart kompliziert und unlesbar, dass die Qualitätssicherung bzw. der Wunsch nach einer Verbesserung und Vereinfachung schon von ganz alleine entsteht.
Bei den dargestellten Code Beispielen handelt es sich um tatsächlich gefundenen Code in realen Projekten.
In der Praxis gefunden:
... and trim(substr(trim(dateiname), length(trim(dateiname))-2, length(trim(dateiname)))) in ('CON','con','Con');
Nach der Analyse, Qualitätssicherung und Überarbeitung:
... and lower(trim(dateiname)) like '%con';
In der Praxis gefunden:
public class methode {
File workingDir = new File("workingDir");
public void deleteCheckedFilesIfExists(String filename) {
File file1 = null;
File file2 = null;
File file3 = null;
File file4 = null;
File file5 = null;
if ( this.workingDir.isDirectory() ) {
file1 = new File ( this.workingDir, filename );
file2 = new File ( this.workingDir, filename + ".ERROR");
file3 = new File ( this.workingDir, filename + ".WARN" );
file4 = new File ( this.workingDir, filename + ".DONE" );
file5 = new File ( this.workingDir, filename + ".inWork" );
if ( file1.exists() ) file1.delete() ;
if ( file2.exists() ) file2.delete() ;
if ( file3.exists() ) file3.delete() ;
if ( file4.exists() ) file4.delete() ;
if ( file5.exists() ) file5.delete() ;
}
}
}
Nach der Analyse, Qualitätssicherung und Überarbeitung:
public class methode {
private static final String[] FILE_EXTENSION_ARRAY = {
"", ".ERROR", ".WARN", ".DONE", ".inWork"
};
File workingDir = new File("workingDir");
public void deleteCheckedFilesIfExists(String filename) {
if (workingDir.isDirectory()) {
for (String extension : FILE_EXTENSION_ARRAY) {
File file = new File(workingDir, filename + extension);
if (file.exists()) {
file.delete();
}
}
}
}
}
In der Praxis gefunden:
public static void methode() {
HashMap hashmap = new HashMap();
hashmap.put("dbuser", "the_db_user");
hashmap.put("dbpasswort", "the_db_password");
hashmap.put("dbhost", "the_db_host");
hashmap.put("dbname", "the_db_name");
hashmap.put("dbport", "the_db_port");
hashmap.put("dbtype", "the_db_type");
java.util.Map.Entry entry1;
for(Iterator iterator1 = hashmap.entrySet().iterator(); iterator1.hasNext(); System.out.println((new StringBuilder()).append(entry1.getKey().toString()).append("=").append(entry1.getValue().toString()).toString()))
entry1 = (java.util.Map.Entry)iterator1.next();
}
Nach der Analyse, Qualitätssicherung und Überarbeitung:
public static void methode() {
Map<string,> hashmap = new HashMap<string,>();
hashmap.put("dbuser", "the_db_user");
hashmap.put("dbpasswort", "the_db_password");
hashmap.put("dbhost", "the_db_host");
hashmap.put("dbname", "the_db_name");
hashmap.put("dbport", "the_db_port");
hashmap.put("dbtype", "the_db_type");
for (String key : hashmap.keySet()) {
StringBuilder outputStringBuilder =
new StringBuilder().append(key).append("=").append(hashmap.get(key));
System.out.println(outputStringBuilder.toString());
}
}
In der Praxis gefunden:
public static boolean isNumeric(String aValue) {
if (aValue != null) {
char[] container = aValue.toCharArray();
for (int i = 0; i < container.length; i++) {
boolean isDigit = Character.isDigit(container[i]);
if (!isDigit) {
return false;
}
}
return true;
}
return false;
}
Nach der Analyse, Qualitätssicherung und Überarbeitung:
(hier kann durchaus eine übersichtlichere Programmierung durch Verwendung des JAVA Exception Handlings erreicht werden)
public static boolean isNumeric(String aValue) {
if (aValue == null) {
return false;
}
try {
Integer.parseInt(aValue);
return true;
} catch (NumberFormatException e) {
return false;
}
}
In der Praxis gefunden:
StringBuffer textBuffer = new StringBuffer();
textBuffer.append(aVariableString1 + ";");
textBuffer.append(aVariableString2 + ";");
textBuffer.append(aVariableString3 + ";" + "\n");
Nach der Analyse, Qualitätssicherung und Überarbeitung:
StringBuffer textBuffer = new StringBuffer();
textBuffer.append(aVariableString1).append(";");
textBuffer.append(aVariableString2).append(";");
textBuffer.append(aVariableString3).append(";\n");