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

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

    −52

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    require_once '/usr/share/php/smarty/Smarty.class.php';
    class SmartyMegaAPI extends Smarty{
        public function __construct()
        {
            $this->Smarty();
            $this->template_dir = './smarty/templates';
            $this->config_dir = './smarty/config';
            $this->compile_dir = './smarty/templates_c';
            $this->cache_dir = './smarty/cache';
        }
    }

    ООП такое ООП

    brainstorm, 18 Июля 2012

    Комментарии (2)
  3. C# / Говнокод #11419

    +118

    1. 1
    2. 2
    decimal retValue = <...>
    var span = TimeSpan.FromMinutes(double.Parse(retValue.ToString()));

    Почему бы просто не (double) retValue...

    someone, 15 Июля 2012

    Комментарии (2)
  4. C# / Говнокод #11362

    +112

    1. 1
    int cutPosition = sb.ToString().IndexOf("                                          \r\n                                          ");

    Коммерческий проект :)

    ddv_demon, 05 Июля 2012

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

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    @SuppressWarnings("deprecation")
    		static long startHourInMS() {
    			final Date date = new Date();
    			date.setMinutes(0);
    			date.setSeconds(0);
    			return date.getTime();
    		}

    Where the Time Stood Still...

    Lure Of Chaos, 03 Июля 2012

    Комментарии (2)
  6. C# / Говнокод #11269

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if (value != null)
    {
       bool boolValue = (Boolean)value;
       switch (boolValue)
       {
          case true:
             return true;
          case false:
             return false;
       }
    }

    Конвертер для CheckBox в WPF

    UniXoiD, 21 Июня 2012

    Комментарии (2)
  7. PHP / Говнокод #10619

    +57

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $format   = $_[3];           # Format object
    
    # Check for a format object
    if (isset($_[3])) {
        $ixfe = $format->get_xf_index();
    } else {
        $ixfe = 0x0F;
    }

    Сначала присвоить, а потом проверить наличие - это сильно!
    Найдено в class.writeexcel_worksheet.inc.php - классе для заботы с .xls

    domaster, 08 Июня 2012

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (style == null || (style != null && !style.isEnabled())) {
        throw new IllegalStateException(); 
    }
    if (style != null) {
        do something . . .
    }

    mychka, 05 Июня 2012

    Комментарии (2)
  9. VisualBasic / Говнокод #10567

    −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
    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
    Dim centerX As Integer
    Dim centerY As Integer
    Dim radius As Integer
    
    Private Sub Form_Activate()
        centerX = 100
        centerY = 100
        radius = 50
    End Sub
    
    Private Sub Timer1_Timer()
        Randomize
        Dim x As Integer
        Dim y As Integer
        Dim i As Integer
        Dim diff As Integer
        
        For i = 0 To 100
            Me.ForeColor = RGB(200, 0, 0)
            x = centerX + (radius * Rnd)
            y = centerY + (radius * Rnd)
            diff = Sqr(((centerX - x) ^ 2) + ((centerY - y) ^ 2))
            If (Abs(radius - diff) < 2) Then
                Me.PSet (x, y)
            End If
            
            Me.ForeColor = RGB(100, 0, 0)
            x = centerX - (radius * Rnd)
            y = centerY + (radius * Rnd)
            diff = Sqr(((centerX - x) ^ 2) + ((centerY - y) ^ 2))
            If (Abs(radius - diff) = 0) Then
                Me.PSet (x, y)
            End If
            
            x = centerX + (radius * Rnd)
            y = centerY - (radius * Rnd)
            diff = Sqr(((centerX - x) ^ 2) + ((centerY - y) ^ 2))
            If (Abs(radius - diff) = 0) Then
                Me.PSet (x, y)
            End If
            
            Me.ForeColor = RGB(0, 100, 0)
            x = centerX - (radius * Rnd)
            y = centerY - (radius * Rnd)
            diff = Sqr(((centerX - x) ^ 2) + ((centerY - y) ^ 2))
            If (Abs(radius - diff) > 2) Then
                Me.PSet (x, y)
            End If
        Next i
    End Sub

    Извиняюсь за длину.
    История происхождения: в одном древнем ВБ-шном говнопроекте сомнительного происхождения эта вещь выполняла роль постепенной прорисовки "логотипа" в окне "О программе". Отрезал сам сабж.
    Вот как работает: http://tinyurl.com/ck3npah

    vistefan, 05 Июня 2012

    Комментарии (2)
  10. Assembler / Говнокод #10563

    +238

    1. 1
    JMP $END

    Copy-Paste, 04 Июня 2012

    Комментарии (2)
  11. bash / Говнокод #10439

    −96

    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
    while true
    do
      if [ $variable -le $null ]; then                                     #### if then 1
        vmm=`expr $vmm + 1`
        if [ $vmm -eq `expr 13` ]; then
         vmm=`expr 1`
        fi
        imm=`expr $imm - 1`
        if [ $imm -eq $null ]; then
         imm=`expr 12` vyy=`expr $vyy + 1`
        fi
        idd=`expr ${month[$imm]} + $variable`
        if [ $idd -gt $null ]; then
         if [ $imm -lt 10 ]; then
          imm=0$imm
         fi
         if [ $idd -lt 10 ]; then
          idd=0$idd
         fi
         calc_date=`expr $current_year - $vyy`$imm$idd
         break;
        else                                                               #### else 1
         variable=`expr ${month[$imm]} + $variable`
        fi
      else
         if [ $imm -lt 10 ]; then
          vmm=0$imm
         else
          vmm=$imm
         fi
       if [ $variable -lt 10 ]; then
        variable=0$variable
       fi
       calc_date=`expr $current_year - $vyy`$vmm$variable
       break;
      fi
    done
    echo $calc_date
    
    #Альтернативный (нормальный) вариант
    calc_date=`perl -e 'use POSIX;print strftime "%Y%m%d",localtime time-'$period*86400';'`

    Дата и время в нужном формате

    paa, 30 Мая 2012

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