- 1
- 2
- 3
if(getFillColor().length() > 0){
/***/
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+75
if(getFillColor().length() > 0){
/***/
}
проверка на инициализацию переменной
+86
public void type(char character) {
switch (character) {
case 'a': doType(VK_A); break;
case 'b': doType(VK_B); break;
case 'c': doType(VK_C); break;
case 'd': doType(VK_D); break;
case 'e': doType(VK_E); break;
case 'f': doType(VK_F); break;
case 'g': doType(VK_G); break;
case 'h': doType(VK_H); break;
case 'i': doType(VK_I); break;
case 'j': doType(VK_J); break;
case 'k': doType(VK_K); break;
case 'l': doType(VK_L); break;
case 'm': doType(VK_M); break;
case 'n': doType(VK_N); break;
case 'o': doType(VK_O); break;
case 'p': doType(VK_P); break;
case 'q': doType(VK_Q); break;
case 'r': doType(VK_R); break;
case 's': doType(VK_S); break;
case 't': doType(VK_T); break;
case 'u': doType(VK_U); break;
case 'v': doType(VK_V); break;
case 'w': doType(VK_W); break;
case 'x': doType(VK_X); break;
case 'y': doType(VK_Y); break;
case 'z': doType(VK_Z); break;
case 'A': doType(VK_SHIFT, VK_A); break;
case 'B': doType(VK_SHIFT, VK_B); break;
case 'C': doType(VK_SHIFT, VK_C); break;
case 'D': doType(VK_SHIFT, VK_D); break;
case 'E': doType(VK_SHIFT, VK_E); break;
<...>
case '$': doType(VK_DOLLAR); break;
case '%': doType(VK_SHIFT, VK_5); break;
case '^': doType(VK_CIRCUMFLEX); break;
case '&': doType(VK_AMPERSAND); break;
case '*': doType(VK_ASTERISK); break;
case '(': doType(VK_LEFT_PARENTHESIS); break;
case ')': doType(VK_RIGHT_PARENTHESIS); break;
case '_': doType(VK_UNDERSCORE); break;
case '+': doType(VK_PLUS); break;
case '\t': doType(VK_TAB); break;
case '\n': doType(VK_ENTER); break;
case '[': doType(VK_OPEN_BRACKET); break;
case ']': doType(VK_CLOSE_BRACKET); break;
case '\\': doType(VK_BACK_SLASH); break;
case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
case ';': doType(VK_SEMICOLON); break;
case ':': doType(VK_COLON); break;
case '\'': doType(VK_QUOTE); break;
case '"': doType(VK_QUOTEDBL); break;
case ',': doType(VK_COMMA); break;
case '<': doType(VK_LESS); break;
case '.': doType(VK_PERIOD); break;
case '>': doType(VK_GREATER); break;
case '/': doType(VK_SLASH); break;
case '?': doType(VK_SHIFT, VK_SLASH); break;
case ' ': doType(VK_SPACE); break;
default:
http://stackoverflow.com/questions/1248510/convert-string-to-keyevents
Конвертируем символы в клавиши.
Боян, да. Но теперь на джаве. Кстати, автор забыл про toLower и toUpper.
+76
assertTrue(!reportDto.getOrder());
Фантазия индусов неиссякаема. Перед написанием кода читать Упанишады до просветления.
+90
static String Colorize(String str) {
str = str.replace("{BLACK}", "&0");
str = str.replace("{DARKBLUE}", "&1");
str = str.replace("{DARKGREEN}", "&2");
str = str.replace("{DARKTEAL}", "&3");
str = str.replace("{DARKRED}", "&4");
str = str.replace("{PURPLE}", "&5");
str = str.replace("{GOLD}", "&6");
str = str.replace("{GRAY}", "&7");
str = str.replace("{DARKGRAY}", "&8");
str = str.replace("{BLUE}", "&9");
str = str.replace("{BRIGHTGREEN}", "&a");
str = str.replace("{TEAL}", "&b");
str = str.replace("{RED}", "&c");
str = str.replace("{PINK}", "&d");
str = str.replace("{YELLOW}", "&e");
str = str.replace("{WHITE}", "&f");
str = str.replace("{0}", "&0");
str = str.replace("{1}", "&1");
str = str.replace("{2}", "&2");
str = str.replace("{3}", "&3");
str = str.replace("{4}", "&4");
str = str.replace("{5}", "&5");
str = str.replace("{6}", "&6");
str = str.replace("{7}", "&7");
str = str.replace("{8}", "&8");
str = str.replace("{9}", "&9");
str = str.replace("{A}", "&a");
str = str.replace("{B}", "&b");
str = str.replace("{C}", "&c");
str = str.replace("{D}", "&d");
str = str.replace("{E}", "&e");
str = str.replace("{F}", "&f");
str = str.replace("&", "\u00a7");
return str;
}
+146
public void info(String msg) {
info(true, msg);
}
+88
StringBuffer sb = new StringBuffer();
sb.append(xxxxxxxx+","+CLLI+","+fmsRegion+","+fmsAddress);
sb.append("\r\n");
Классическое использование стрингбуффера
+147
Thread thread1 = new Thread();
Thread thread1 = new Thread();
thread1.start();
thread2.start();
while(thread1.isAlive() || thread2.isAlive()){}
+82
private static void createFile(File f) {
try {
f.createNewFile();
FileOutputStream fs = new FileOutputStream(f);
Long time = new Date().getTime();
int b = 0;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
b = (int) (time % 256);
fs.write(b);
time /= 256;
fs.flush();
fs.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Сохранение даты в файл :)
+122
@SuppressWarnings("unused")
// Sure it's used. By Guice. So stop complaining.
protected ColQueryProvider() {
try {
// Exhibit one: ye olde dependency hell.
// We *should* be able to just use new EclipseCompiler(), but GWT complains
// in dev mode when ECJ is in the Eclipse classpath. So it's not.
// ECJ is still loaded by the servlet container, so this is not an issue in deployment.
final JavaCompiler compiler = (JavaCompiler)
Class.forName("org.eclipse.jdt.internal.compiler.tool.EclipseCompiler").newInstance();
// Tweaked based on QueryEngine.DEFAULT
final DefaultEvaluatorFactory evaluatorFactory = new DefaultEvaluatorFactory(ColQueryTemplates.DEFAULT,
(URLClassLoader) DefaultEvaluatorFactory.class.getClassLoader(), compiler);
queryEngine = new DefaultQueryEngine(evaluatorFactory);
} catch (final ClassNotFoundException e) {
throw new ProvisionException("Eclipse compiler cannot be loaded", e);
} catch (final InstantiationException e) {
throw new ProvisionException("Eclipse compiler cannot be loaded", e);
} catch (final IllegalAccessException e) {
throw new ProvisionException("Eclipse compiler cannot be loaded", e);
}
}
+80
private static final char DELIM = '_';
public String createDocName() {
...
final String sDelim = Character.toString(DELIM);
String res = stringWithDelimiter(docType) + stringWithDelimiter(docNumber) + stringWithDelimiter(docDate) + stringWithDelimiter(documentReceiptDate);
res = res.length() < sDelim.length() ? "" : res.substring(0, res.length() - sDelim.length());
res = res.replace(sDelim + sDelim + sDelim, sDelim);
res = res.replace(sDelim + sDelim, sDelim);
if (res.charAt(0) == DELIM)
res = res.substring(1);
if (res.charAt(res.length() - 1) == DELIM)
res.substring(0, res.length() - sDelim.length());
return res;
}
private String stringWithDelimiter(Object o) {
final String sDelim = Character.toString(DELIM);
String s = (String) o;
return StringUtils.isNotEmpty(s) ? s + sDelim : sDelim;
}
метод createDocName должен из нескольких полей документа составить имя документа, используя в качестве разделителя "_".
Сначала я не мог предположить что делает этот код, но подсказал коллега по работе:
потензицально, вызов String res = stringWithDelimiter(docType) + stringWithDelimiter(docNumber) + stringWithDelimiter(docDate) + stringWithDelimiter(documentReceiptDate) ; может давать запись например такую: "docType___" - в случае если docNumber, docDate и documentReceiptDate будут пустыми строками (а можно получить и "___documentReceiptDate".
НО, предусмотрительный разработчик позаботился об это проблеме!
Он заменяет, "___" и "__" с помощью:
res = res.replace(sDelim + sDelim + sDelim, sDelim);
res = res.replace(sDelim + sDelim, sDelim);
Затем удаляет знаки подчеркиваний в начале и в конце строки:
if (res.charAt(0) == DELIM)
res = res.substring(1);
if (res.charAt(res.length() - 1) == DELIM)
res.substring(0, res.length() - sDelim.length());
Отличное решение, можно было бы конечно переписать метод stringWithDelimiter, чтобы он не дописывал "_" для пустых строк, но это ведь не так круто правда? Жаль только что придется этот класный код снова переписывать если вдруг измениться число параметров, или поменяется разделитель...