- 1
- 2
- 3
- 4
- 5
- 6
switch (blds [i])
{
default:
points [0] [i] = InputGameMessage.readString ();
break;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+78
switch (blds [i])
{
default:
points [0] [i] = InputGameMessage.readString ();
break;
}
замечательная индусятина
+78
while (entityIterator.hasNext()) {
Object[] results = entityIterator.next();
Long policyId = ((PolicyEntity) results[0]).getId();
PolicyEntity policy = (PolicyEntity) policyDao.findById(policyId);
processPolicy(policy);
}
Спецально не рефакторил этот шедевр, ждал, пока ГК поднимется.
+78
public synchronized void add(Object obj){
if (!sequence.isEmpty()) {
if (sequence.size() == maxSize) {
sequence.remove(0);
sequence.add(obj);
}
else
sequence.add(obj);
}
if (sequence.isEmpty())
sequence.add(obj);
notifyAll();
}
Альтернативный else.
+78
StringTokenizer st = new StringTokenizer(data[0][14].toString(), ",");
String str = "";
//int numAfPoint = 3;
for (int k = 1; k < st.countTokens() + 3; k++) { //p
str = st.nextToken();
// ..
}
Оригинальный обход токенов - а вдруг тройка лишних завалялась..
+78
public Date localTimeToUTC(final Date localTime) {
final DateFormat format = DateFormat.getDateTimeInstance();
format.setTimeZone(UTC);
// This is a bit of a trick. Since Java assumes dates are in UTC,
// but localTime is not (blame the weird legacy database...),
// it's a semantically incorrect Date. Therefore we process it as
// if it's in UTC...
final String formatted = format.format(localTime);
format.setTimeZone(localTimeZone);
try {
return format.parse(formatted);
} catch (final ParseException e) {
throw new AssertionError(e); // cannot happen
}
}
И вновь издержки обратной совместимости. Китайские кулибины хранили DateTime в старой базе в локальном часовом поясе.
+78
/*
* Для операций UPDATE идентификаторы объектов должны быть уникальными.
*/
HashMap<Long,Boolean> filterUniqueChangeObjects = new HashMap<Long, Boolean>();
for (RepositoryObject repositoryObject : resultRepositiry) {
if(repositoryObject.getOperationType() == OperationType.UPDATE) {
if(filterUniqueChangeObjects.containsKey(repositoryObject.getObjectId())) {
log.warn("Объект с идентификатором уже присутствует в обработке UPDATE " + repositoryObject.getObjectId());
} else {
resultUniqueRepositiry.add(repositoryObject);
filterUniqueChangeObjects.put(repositoryObject.getObjectId(), true);
}
}
}
+78
// inside some method
final DateFormat dateFormat = i18n.getDateFormat();
synchronized (dateFormat) {
formatedViolationDate = (violationDate != null) ?
dateFormat.format(violationDate) : "";
}
i18n.getDateFormat() возвращает статический объект DateFormat, который может использоваться несколькими потоками. В руки бы накласть тому, кто это писал.
Решение: getDateFormat() возвращает строку формата, объект формата создаем при каждом вызове.
+78
for (int count = 1; allWord == ""; count++) {
if (num.length() == 4) {
allWord += arrayToTen[Integer.parseInt(num.substring(0,1))-1] + "Thousand"; /
if (Integer.parseInt(num.substring(1,2)) > 0) {
allWord += arrayToTen[Integer.parseInt(num.substring(1,2))-1] + "Hundred";
}
if (Integer.parseInt(num.substring(2,3)) == 0) {
allWord += "And"; // добавдяем просто "And"
}
}
}
часть реализации задачи:
http://projecteuler.net/problem=17
+78
PreparedStatement statement = createStatement();
for (Value value: values) {
if (statement == null) {
statement = createStatement();
}
try {
if (statement.isClosed()) {
statement = createStatement();
}
} catch (Exception e) {
logger.error("...", e);
}
// ...
}
"бог любит троицу"
+78
/**
* @param loginName
* @return
* This method is create a LoginName as Input data
*/
public String getLoginName(String loginName)
{
String userQuery="select u.LoginName from User u";
Recordset rs_user=null;
rs_user = CustomExternalServiceImplUtil.getInstance().executeQuery(userQuery);
List<String> userList = new ArrayList<String>();
while(rs_user.moveNext()){
userList.add(rs_user.valueFromIndex(0).toString());
}
int i=1;
String result = loginName;
for(int j=0; j < userList.size(); j++){
if(userList.get(j).equals(result))
{
result = loginName+i++;
j=0;
}
}
return result;
}
Рефаткоринг чужого кода. Минут пять втуплял, что же тут вообще делается. Еще столько же придумывал, как же это привести в божеский вид с сохранением прежней функциональности.