1. Лучший говнокод

    В номинации:
    За время:
  2. Java / Говнокод #13418

    +70

    1. 1
    final int mazeBlockSize = mazeBlock.getIconWidth();       // it is square, OKAY?!

    Как я пакмена писал

    vortexx1, 13 Июля 2013

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

    +70

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    @OnEvent("search")
    	@ReportGritter(title = "message:error", text = "message:database_error")
    	Results search() {
    		final List<Result> results = new ArrayList<Result>();
    		int count = 0;
    		final List<?> search1 = this.bands.search(this.query);
    		final String group1 = HSSearch.GROUP_BANDS;
    		if (!search1.isEmpty()) {
    			results.addAll(this.transform(search1, group1));
    			count += search1.size();
    		}
    		final List<?> search2 = this.albums.search(this.query);
    		final String group2 = HSSearch.GROUP_ALBUMS;
    		if (!search2.isEmpty()) {
    			results.addAll(this.transform(search2, group2));
    			count += search2.size();
    		}
    		final List<?> search3 = this.tracks.search(this.query);
    		final String group3 = HSSearch.GROUP_TRACKS;
    		if (!search3.isEmpty()) {
    			results.addAll(this.transform(search3, group3));
    			count += search3.size();
    		}
    		this.results.setResults(results);
    		this.results.setCount(count);
    		return this.results;
    	}
    
    	private <E> String toTitle(final E item) {
    		if (item instanceof BandEntity) {
    			return ((BandEntity) item).getTitle();
    		}
    		if (item instanceof AlbumEntity) {
    			final AlbumEntity aitem = (AlbumEntity) item;
    			return String.format("%s (%d)", aitem.getTitle(), Integer.valueOf(aitem.getYear()));
    		}
    		if (item instanceof TrackEntity) {
    			return ((TrackEntity) item).getTitle();
    		}
    		return item.toString();
    	}
    
    	private <E> String toUrl(final E item) {
    		if (item instanceof BandEntity) {
    			final BandEntity bitem = (BandEntity) item;
    			return this.links.createPageRenderLinkWithContext(Band.class, bitem.getLetter(), bitem.getAlias())
    					.toAbsoluteURI();
    		}
    		if (item instanceof AlbumEntity) {
    			final AlbumEntity aitem = (AlbumEntity) item;
    			return this.links.createPageRenderLinkWithContext(Album.class, aitem.getBand().getLetter(),
    					aitem.getBand().getAlias(), aitem.getAlias()).toAbsoluteURI();
    		}
    		if (item instanceof TrackEntity) {
    			final TrackEntity titem = (TrackEntity) item;
    			return this.links.createPageRenderLinkWithContext(Album.class, titem.getAlbum().getBand().getLetter(),
    					titem.getAlbum().getBand().getAlias(), titem.getAlbum().getAlias()).toAbsoluteURI();
    		}
    		return this.links.createPageRenderLinkWithContext("").toAbsoluteURI();
    	}
    
    	private <E> List<Result> transform(final List<E> search, final String groupName) {
    		final ArrayList<Result> res = new ArrayList<Result>();
    		if (!search.isEmpty()) {
    			final String group = this.messages.get(groupName);
    			res.add(new Result(group));
    			for (final E item : search) {
    				res.add(new Result(group, this.toTitle(item), this.toUrl(item)));
    			}
    		}
    		return res;
    	}

    DRY in Action.
    мое домашнее творчество.

    Lure Of Chaos, 06 Июня 2013

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

    +70

    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
    package <hostname>.sbrf.taxaccounting.service.impl;
    
    import org.junit.Test;
    
    import <hostname>.sbrf.taxaccounting.service.FormDataService;
    
    public class FormDataServiceTest {
    	private FormDataService formDataService;
    	
    	public void tearUp() {
    		 formDataService = new FormDataServiceImpl();
    	}
    	
    	@Test
    	public void testCheckMandatoryColumns() {
    		
    	}
    }

    Зато он используются юнит тесты
    и посмотрите внимательно кому это делается)))
    вот такие вот у нас тесты :)

    smpl, 03 Июня 2013

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

    +70

    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
    private String formatString(String input, int lenght){
            String result = "";
            int len = lenght - input.length();
            int left = Math.round(len/2);
            int right = len - left;
            for(int i=0; i<left; i++){
                result = " " + result;
            }
            result = result + input;
            for(int i=0; i<right; i++){
                result = result + " ";
            }
            return result;
        }

    выравнивание текста в центре пустой строки фиксированной ширины.

    nafania217518, 19 Апреля 2013

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static final void setManager(String name, MessageManager manager) {
            if ("doc".equals(name)) {
                doc = manager;
            } else {
                throw new RuntimeException("name is not 'doc' : " + name);
            }
        }

    Просто эпично! Даже добавить нечего

    tuba.linux, 30 Января 2013

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (!formules.isEmpty()) {
        for (String tag : formules) {
        .....
        // и вот здесь шедевр:
        }
        // а здесь ничего нет
    }

    Не гоняем цикл вхолостую

    alopen, 21 Декабря 2012

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

    +70

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    protected SocketChannel getSockById(int id)
    {
              Iterator<SocketChannel> i = clientSock.iterator();
              while(i.hasNext())
              {
              	SocketChannel s = i.next();
              	if(s.hashCode() == id)
               		return s;
         
              }
              return null;
    }

    Инетесно, о чём думал автор в момент создания этого шедевра

    roman-kashitsyn, 30 Октября 2012

    Комментарии (20)
  9. PHP / Говнокод #11649

    +70

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    <?php
    $nodata = 'nodata';
    $A60    = doubleval(@$HTTP_POST_VARS['A60']);
    $B60    = doubleval(@$HTTP_POST_VARS['B60']);
    $C60    = doubleval(@$HTTP_POST_VARS['C60']);
    $D60    = doubleval(@$HTTP_POST_VARS['D60']);
    $F60    = doubleval(@$HTTP_POST_VARS['F60']);
    $G60    = doubleval(@$HTTP_POST_VARS['G60']);
    $H60    = doubleval(@$HTTP_POST_VARS['H60']);
    $I60    = doubleval(@$HTTP_POST_VARS['I60']);
    $J60    = doubleval(@$HTTP_POST_VARS['J60']);
    $K60    = doubleval(@$HTTP_POST_VARS['K60']);
    $L60    = doubleval(@$HTTP_POST_VARS['L60']);
    $M60    = doubleval(@$HTTP_POST_VARS['M60']);
    echo $A60;
    if (($A60 < 0) || ($B60 < 0) || ($C60 < 0) || ($D60 < 0) || ($F60 < 0) || ($G60 < 0) || ($H60 < 0) || ($I60 < 0) || ($J60 < 0) || ($K60 < 0) || ($L60 < 0) || ($M60 < 0)) {
        readfile("cerror.html"); exit; }
    if (($A60 == 0) && ($B60 == 0) && ($C60 == 0) && ($D60 == 0) && ($F60 == 0) && ($G60 == 0) && ($H60 == 0) && ($I60 == 0) && ($J60 == 0) && ($K60 == 0) && ($L60 == 0) && ($M60 == 0)) {
      readfile("cerror.html"); exit;}
    $D1  = @($A60);
    $A2  = @(405.2);
    $B2  = @((0.9 + 0.8) / 2);
    $C2  = @(8);
    $D2  = @($A60 / 3);
    $E2  = @(0.00000012);
    $F2  = @(exp(-1.60978 + 0.021845 * ($A2 / exp(3 * $B2)) - 0.000186 * pow($A2 / exp(3 * $B2), 2) + 0.0000011 * pow($A2 / exp(3 * $B2), 3)) * exp($B2 * (0.674 + 0.2 * $B2 + 0.007577 * ($A2 / exp(3 * $B2)) + 0.0084248753 * ($A2 / exp(3 * $B2)) * $B2 + 0.0000224434 * pow($A2 / exp(3 * $B2), 2))) * $E2 * $D2);
    $I2  = @(0.37);
    $J2  = @(0.24);
    $K2  = @(0.22);
    $A3  = @(368.7);
    $B3  = @((0.9 + 0.8) / 2);
    $C3  = @(20);
    $D3  = @($A60 / 3);
    $E3  = @(0.000000013);
    $F3  = @(exp(-1.60978 + 0.021845 * ($A3 / exp(2.5 * $B3)) - 0.000186 * pow($A3 / exp(2.5 * $B3), 2) + 0.0000011 * pow($A3 / exp(2.5 * $B3), 3)) * exp($B3 * (0.674 + 0.2 * $B3 + 0.007577 * ($A3 / exp(2.5 * $B3)) + 0.0084248753 * ($A3 / exp(2.5 * $B3)) * $B3 + 0.0000224434 * pow($A3 / exp(2.5 * $B3), 2))) * $E3 * $D3);
    $I3  = @(0.37);
    $J3  = @(0.24);
    $K3  = @(0.22);
    $A4  = @(621.4);
    $B4  = @(0.9);
    $C4  = @(36);
    $D4  = @($A60 / 3);
    $E4  = @(0.00000001);
    $F4  = @(exp(-1.60978 + 0.021845 * ($A4 / exp(2.5 * $B4)) - 0.000186 * pow($A4 / exp(2.5 * $B4), 2) + 0.0000011 * pow($A4 / exp(2.5 * $B4), 3)) * exp($B4 * (0.674 + 0.2 * $B4 + 0.007577 * ($A4 / exp(2.5 * $B4)) + 0.0084248753 * ($A4 / exp(2.5 * $B4)) * $B4 + 0.0000224434 * pow($A4 / exp(2.5 * $B4), 2))) * $E4 * $D4);
    $I4  = @(0.37);
    // ..аналогичные вычисления и инициализация для остальных переменных типа "буква-число"
    $D54 = @($M60 / 2);
    $E54 = @(0.0000007);
    $I54 = @(0.192);
    $J54 = @(0.027);
    $K54 = @(0);
    $A55 = @(232.5);
    $B55 = @((0.5 + 0.8) / 2);
    $C55 = @(0);
    $D55 = @($M60 / 2);
    $E55 = @(0.00000009);
    $I55 = @(0.192);
    $J55 = @(0.027);
    $D56 = @($D53 + $D46 + $D47 + $D48 + $D40 + $D35 + $D30 + $D26 + $D22 + $D18 + $D13 + $D9 + $D5 + $D1);
    // поехали по новой считать какие-то средние значения...
    $A1  = @(($A2 + $A3 + $A4) / 3);
    $B1  = @(($B2 + $B3 + $B4) / 3);
    $C1  = @(($C2 + $C3 + $C4) / 3);
    $E1  = @(($E2 + $E3 + $E4));
    $F1  = @(($F2 + $F3 + $F4));
    $I1  = @(($I2 + $I3 + $I4) / 3);
    $J1  = @(($J2 + $J3 + $J4) / 3);
    $K1  = @(($K2 + $K3 + $K4) / 3);
    $H2  = @($F2 * ($I2 + $K2));
    $M2  = @(1 - exp(-$H2 * 8766.00));
    $H3  = @($F3 * ($I3 + $K3));
    $M3  = @(1 - exp(-$H3 * 8766.00));
    $H4  = @($F4 * ($I4 + $K4));
    $M4  = @(1 - exp(-$H4 * 8766.00));
    // ещё немного кода...
    $J53 = @(($J54 + $J55) / 2);
    $K53 = @(($K54 + $K55) / 2);
    $F54 = @(exp(-3.94361687 + 0.02181877 * ($A55 / exp(5 * $B55)) + 0.00000171 * pow($A55 / exp(5 * $B55), 2)) * exp($B54 * (3.464157793 + 0.0000789055 * ($A55 / exp(5 * $B55)))) * $E54 * $D54);
    $H54 = @($F54 * ($I54 + $K54));
    $M54 = @(1 - exp(-$H54 * 8766.00));
    $F55 = @(exp(-3.94361687 + 0.02181877 * ($A56 / exp(5 * $B56)) + 0.00000171 * pow($A56 / exp(5 * $B56), 2)) * exp($B55 * (3.464157793 + 0.0000789055 * ($A56 / exp(5 * $B56)))) * $E55 * $D55);
    $H55 = @($F55 * ($I55 + $K55));
    $M55 = @(1 - exp(-$H55 * 8766.00));
    // и ешё чуть-чуть....
    $F10 = @(((293 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) * exp((1 / (273 + $A10 / exp(4.5 * $B10) + 3000 * $B10 / (125 + $A10 / exp(4.5 * $B10)))) - (1.00 / 293.00) + 2 * ($B10 - 1))) * $E10 * $D10);
    $H10 = @($F10 * ($I10 + $K10));
    $M10 = @(1 - exp(-$H10 * 8766.00));
    $F11 = @(((0.75 + 0.104 * $B11 * exp(0.877 * pow($B11, 3))) * (273 + ($A11 / exp(4.6 * $B11))) / 293) * exp((390 + 190 * $B11) * (($A11 / exp(4.6 * $B11)) - 20 + 0.016 * pow($B11 * ($A11 / exp(4.6 * $B11) - 20), 2)) / (293 * (273 + ($A11 / exp(4.6 * $B11))))) * $E11 * $D11);
    $H11 = @($F11 * ($I11 + $K11));
    $M11 = @(1 - exp(-$H11 * 8766.00));
    $F12 = @((pow($B12, 2) + 0.01) * exp((4500 + 400 * $B12 + 1400 * pow($B12, 3)) * ((1.00 / 293.00) - (1 / (273 + ($A12 / exp(8 * $B12)))))) * $E12 * $D12);
    $G12 = @(($H11 - $F11 * $K11) * ($A12 / exp(8 * $B12) / $A12));
    $H12 = @($F12 * ($I12 + $K12));
    $L12 = @((1 - exp(-$G12 * 8766.00)));
    $M12 = @(1 - exp(-$H12 * 8766.00));
    // 650+ строк таких вычислений для каждой буквы-переменной
    ?>

    Код получает несколько значений: кол-во моторов, транзисторов, микросхем и прочих элементов, после считает разные коэффициенты пожароопасности и шансы возгорания. Записывает их в таблицу и показывает на странице. Говорят, что это работает верно и уже около 6 человек защитили курсовые по этой теме(пожароопасность электроприборов) с использованием этого кода.

    vovkalamer, 24 Августа 2012

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

    +70

    1. 1
    2. 2
    3. 3
    4. 4
    if( (r == g) && (g == b) && (b == 255) )
    {
    // .....
    }

    ...

    Anderson, 15 Августа 2012

    Комментарии (25)
  11. PHP / Говнокод #11567

    +70

    1. 1
    $device->logicalDevices = $device->getLogicalDevices();

    ООП, такой ООП.

    travka, 10 Августа 2012

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