1. Java / Говнокод #8710

    +75

    1. 1
    2. 2
    3. 3
    if(getFillColor().length() > 0){
    		/***/
    	}

    проверка на инициализацию переменной

    JJunior, 02 Декабря 2011

    Комментарии (22)
  2. Java / Говнокод #8706

    +86

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    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.

    RaZeR, 01 Декабря 2011

    Комментарии (13)
  3. Java / Говнокод #8698

    +76

    1. 1
    assertTrue(!reportDto.getOrder());

    Фантазия индусов неиссякаема. Перед написанием кода читать Упанишады до просветления.

    roman-kashitsyn, 01 Декабря 2011

    Комментарии (38)
  4. Java / Говнокод #8643

    +90

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    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;
    	}

    Crazy_penguin, 25 Ноября 2011

    Комментарии (29)
  5. Java / Говнокод #8642

    +146

    1. 1
    2. 2
    3. 3
    public void info(String msg) {
    		info(true, msg);
    	}

    Crazy_penguin, 25 Ноября 2011

    Комментарии (12)
  6. Java / Говнокод #8638

    +88

    1. 1
    2. 2
    3. 3
    StringBuffer sb = new StringBuffer();
    sb.append(xxxxxxxx+","+CLLI+","+fmsRegion+","+fmsAddress);
    sb.append("\r\n");

    Классическое использование стрингбуффера

    dms_, 25 Ноября 2011

    Комментарии (14)
  7. Java / Говнокод #8618

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Thread thread1 = new Thread();
    Thread thread1 = new Thread();
    thread1.start();
    thread2.start();
    while(thread1.isAlive() || thread2.isAlive()){}

    askell, 23 Ноября 2011

    Комментарии (11)
  8. Java / Говнокод #8616

    +82

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    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();
    	}
    }

    Сохранение даты в файл :)

    mastermind, 23 Ноября 2011

    Комментарии (4)
  9. Java / Говнокод #8615

    +122

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    @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);
    	}
    }

    someone, 23 Ноября 2011

    Комментарии (0)
  10. Java / Говнокод #8613

    +80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    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, чтобы он не дописывал "_" для пустых строк, но это ведь не так круто правда? Жаль только что придется этот класный код снова переписывать если вдруг измениться число параметров, или поменяется разделитель...

    LexeY4eg, 23 Ноября 2011

    Комментарии (0)