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

    В номинации:
    За время:
  2. Куча / Говнокод #12041

    +129

    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
    public Match(source:SourceLexemes, namedLinkDictionary:NamedLinkDictionary, settings:MatchSettings):MatchResult
    				def endMatchingBlockLexemesByType = settings._endMatchingBlockLexemesByType;
    				def endMatchingBlockLexemesByValue = settings._endMatchingBlockLexemesByValue;
    				assert([_beginOfMatchBlock, _endOfMatchBlock].ForAll(excludedItem => !endMatchingBlockLexemesByValue.Contains(excludedItem)));
    				def matchLexeme(amountOfEntryBlock=0, matchedLexemes=[], sourceTail=source)
    					|(0, _::_, _)                                                                    => Some(matchedLexemes, sourceTail)
    					|(_, _, lexeme_::_) when endMatchingBlockLexemesByType.Contains(lexeme_._type)   => None()
    					|(_, _, lexeme_::lexemes_)                                                       => 
    						match(lexeme_._value, amountOfEntryBlock)
    							|(value_, _) when endMatchingBlockLexemesByValue.Contains(value_)   => None()
    							|(_beginOfMatchBlock, _)                                            => matchLexeme(amountOfEntryBlock+1, lexeme_::matchedLexemes, lexemes_)
    							|(_endOfMatchBlock, 0)                                              => None()
    							|(_endOfMatchBlock, _)                                              => matchLexeme(amountOfEntryBlock-1, lexeme_::matchedLexemes, lexemes_)
    							|(_, 0)                                                             => None()
    							|(_, _)                                                             => matchLexeme(amountOfEntryBlock, lexeme_::matchedLexemes, lexemes_)
    							|_                                                                  => None()
    					|_                                                                               => None()
    				match(matchLexeme())
    					|None                                                    => MatchResult.Failure(source, namedLinkDictionary)
    					|Some((matchedLexemes_, unmatchedLexemesTail_))          => MatchResult.Success(unmatchedLexemesTail_, updateNamedLinkDictionary(matchedLexemes_, namedLinkDictionary))

    Вчера заглянул в свой код.
    Есть один язык, так вот в нем паттерн-матчинг задается на уровне сигнатур функций.
    В связи с тем, что я каждую ночь читал книгу по кулХацкелу, то то что там было написано - вьелось мне в подкоррку и я этого даже не заметил.
    По ночам когда читаешь что-то, оно проникает в незащищенное подсознание. Я даже не ожидал, что напишу такой код. Но я его написал и только опосля понял, что с кодом что-то не так.
    Беда пришла оттуда, откуда её не ждали.
    Ещё я больше не могу без таких функций, как id или ($) или (.) или стрелочка\рыбка. Меня все это конечно раздражает... Мне кажется, что меня держут в клетке и не дают пользоваться правильными функциями.
    Я всегда считал, что зашквар и профессиональная деформация может быть только от крестов.
    Похоже я очень сильно ошибался и поплатился за это.
    Что посоветуете?

    LispGovno, 01 Ноября 2012

    Комментарии (80)
  3. Куча / Говнокод #11993

    +129

    1. 1
    <input type="hidden" style="width:0px; height:0px;border:0px" name="eventtype" value="3" />

    shmaltorhbooks, 25 Октября 2012

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

    +129

    1. 1
    arr <- return $ map (2*) lst

    Я тут читал раздел на одном форуме по решению задач для школьников и наткнулся на такое говно.
    - let?
    - Не, не слышал.
    Подозреваю, что автор не понял, что let нужно писать без in в монадах, чтобы скомпилировалось.

    HaskellGovno, 17 Октября 2012

    Комментарии (9)
  5. Куча / Говнокод #11666

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    <li title="document.location='http://handleopenurl.com/scheme/buffer' null" href="http://handleopenurl.com/scheme/buffer" class="scheme" onclick="document.location='http://handleopenurl.com/scheme/buffer'">
    <h1>Buffer</h1>
    <h2 class="code">bufferapp</h2>
    </li>

    И это всё вместо <a>.

    Vindicar, 29 Августа 2012

    Комментарии (9)
  6. Куча / Говнокод #11615

    +129

    1. 1
    2. 2
    http://allcred.ru/2012/01/
    Всё внимание на заголовок страницы

    Какой-то левый сайт, занимающийся непонятно чем.
    Случайно наткнулся в гугле.

    krypt, 20 Августа 2012

    Комментарии (18)
  7. Куча / Говнокод #11593

    +129

    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
    duration = song.getTrack(track).getMeasure(measure).getBeat(beat).getVoice(VOICE).getDuration().getValue();
    							switch (duration) {
    							case 1: convertedDuration = 254;
    							break;
    							case 2: convertedDuration = 255;
    							break;
    							case 8: convertedDuration = 1;
    							break;
    							case 16: convertedDuration = 2;
    							break;
    							case 32: convertedDuration = 3;
    							break;
    							case 64: convertedDuration = 4;
    							break;
    							case 128: convertedDuration = 5;
    							break;
    							case 256: convertedDuration = 6;
    							break;
    							case 512: convertedDuration = 7;
    							break;
    							case 1024: convertedDuration = 8;
    							break;
    							case 2048: convertedDuration = 9;
    							break;
    							case 4096: convertedDuration = 10;
    							break;
    							case 8192: convertedDuration = 11;
    							break;
    							case 16384: convertedDuration = 12;
    							break;
    							case 32768: convertedDuration = 13;
    							break;
    							case 65536: convertedDuration = 14;
    							break;
    							default: convertedDuration = 0;
    							}

    Источник не известен, гуляет сейчас в офисе по чату

    krypt, 15 Августа 2012

    Комментарии (14)
  8. Куча / Говнокод #11459

    +129

    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
    F[numbers_, setNumber_, ParenNum_] := 
     Block[{func = {"+", "-", "*", "/"}[[setNumber]], 
       parens = {{"", "", "", "", "", ""}, {"", "(", "", "", ")", 
           ""}, {"", "", "", "(", "", ")"}, {"", "(", "", "", "", 
           ")"}, {"(", "", ")", "(", "", ")"}}[[ParenNum]], e}, 
      e = ToExpression[
        ToString[
         StringJoin[parens[[1]], ToString[numbers[[1]]], func[[1]], 
          parens[[2]], ToString[numbers[[2]]], parens[[3]], func[[2]], 
          parens[[4]], ToString[numbers[[3]]], parens[[5]], func[[3]], 
          ToString[numbers[[4]]], parens[[6]]]]]; e];Timing[c = 0; d = 0; 
     b = Permutations[{1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}, {3}]; 
     For[n1 = 1, n1 < 10, n1++, 
      For[n2 = 1, n2 < n1, n2++, 
       For[n3 = 1, n3 < n2, n3++, 
        For[n4 = 1, n4 < n3, n4++, 
         a = Permutations[{n1, n2, n3, n4}, {4}]; sol = {}; 
         For[i = 1, i <= Length[a], i++, 
          For[j = 1, j <= 64, j++, 
           For[n = 1, n <= 5, n++, g = F[a[[i]], b[[j]], n]; 
            If[IntegerQ[g] && g > 0, AppendTo[sol, g]]]]; 
          m = Sort[DeleteDuplicates[sol]]; 
          l = Complement[Range[1000], m][[1]]; 
          If[l > c, c = l; d = {n1, n2, n3, n4}]]]]]]; 
     FromDigits[Reverse[d]]]

    http://projecteuler.net/problem=93
    http://projecteuler.net/thread=93&page=6


    Язык, кстати, Mathematica.

    TheHamstertamer, 22 Июля 2012

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private static BigDecimal ZERO;
    private static BigDecimal ONE;
    private static BigDecimal TWO;
    private static BigDecimal FIVE;
    private static BigDecimal FOUR;
    private static BigDecimal SEVEN;
    public static BigDecimal SMALLDECIMAL;
    private static BigDecimal THREEHUNDRED;

    http://multilevellayout.googlecode.com/svn-history/r13/trunk/MultilevelLayoutPlugin/src/multilevelLayoutPlugin/MultilevelLayoutAlgorithm.java

    someone, 15 Июля 2012

    Комментарии (20)
  10. C# / Говнокод #11388

    +129

    1. 1
    return GetByteArray((Object)obj);

    На всякий случай.

    Em1ss1oN, 10 Июля 2012

    Комментарии (35)
  11. C# / Говнокод #11307

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    if (!File.Exists(filePath))
    {
    	throw new FileNotFoundException("File is not a file!", filePath);
    }

    Вот такая вот философия шестилетней давности. Собственное говно :)

    anmiles, 26 Июня 2012

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