Я знаю, что плохо что-либо кодировать.Обычно мы делаем большую часть переменной окружения с помощью файла конфигурации.Например, свойство базы данных, конфигурация проекта, log4j, ввод, вывод.
Но сегодня я видел, как кто-то пишет код, подобный этому:
public void updateExistedRecord(SgsnMapping sgsnMapping) throws Exception {
PreparedStatement ps = null;
try {
String updateSql = "";
updateSql += "UPDATE " + schema + "." + tableSgsnMapping + " SET ";
//other where clause
ps = dbConn.prepareStatement(updateSql);
ps.executeUpdate();
} catch (Exception ex) {
logger.error("Error when update an existing record on " + tableSgsnMapping + " table.\n" + ex.getMessage(), ex);
throw ex;
} finally {
SqlHelper.close(ps);
}
}
Основное внимание уделяется таблице - tableSgsnMappingв другом месте написано так:
private String tableSgsnMapping = ConstantManager.TABLE_SGSN_MAPPING;
В свою очередь, TABLE_SGSN_MAPPING определяется в другом месте:
public final static String TABLE_SGSN_MAPPING = "OBDUA_SGSN_MAPPING";
Разве это не слишком много?Таблица не изменит свое имя, и она всегда будет там.Почему бы просто не кодировать это жестко в программе?Почему?