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

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

    +165

    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
    function func()
    {
    	$func = array(
    		"*4164-4622-1270" => "Core::Exchange->dest1",
    		"*8273-7121-7643" => "Core::Exchange->dest2",
    		"*8710-4879-0216" => "Core::Exchange->dest3",
    		"*5566-0506-6230" => "Core::Exchange->dest4",
    		"*0635-1830-1345" => "Core::Exchange->dest5",
                           .....
    	);
    	return $func;
    }
    	
    function eF($id) 
    {
    	if ($id == 1) return "*4164-4622-1270";
    	if ($id == 2) return "*8273-7121-7643";
    	if ($id == 3) return "*8710-4879-0216";
    	if ($id == 4) return "*5566-0506-6230";
               if ($id == 5) return "*0635-1830-1345";
    	if ($id == 6) return "*3265-0565-4871";
                .....
    }

    Диспетчер функций с встроенной защитой от кулхацкеров. (dest1...dest5 - сохранены оригинальные имена)

    tyler, 28 Января 2011

    Комментарии (3)
  3. SQL / Говнокод #5389

    −143

    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
    if exists(
      select 1
      from PList
      where userId = @userId
      and opCode = 'SSDD' 
    ) 
    begin
       select @SSDD = ssValue
       from  PList 
              where userId = @userId
                and opCode = 'SSDD' 
       .................
    	<some code>
       .................
    end

    оптимальненько

    3.14159265, 25 Января 2011

    Комментарии (3)
  4. JavaScript / Говнокод #5385

    +160

    1. 1
    if ( $('.menu_center > ul > li:eq(6)').attr('id') != 'current' )

    Jquery в джумле:)

    moonie, 25 Января 2011

    Комментарии (3)
  5. JavaScript / Говнокод #5380

    +159

    1. 1
    2. 2
    3. 3
    4. 4
    .onePixBorder{
    zoom:1; 
    behavior:expression(!this.isInserted==true ? this.isInserted=(this.innerHTML = '<span style="background: url(/common/img/opb-tr.png) no-repeat 100% 0;height: 9px;display: block;margin: -11px -11px 2px -11px;"><img src="/common/img/opb-tl.png" alt="" /></span>' + this.innerHTML + '<span style="background: url(/common/img/opb-br.png) no-repeat 100% 0;height: 9px;display: block;margin:4px -11px -11px -11px;"><img src="/common/img/opb-bl.png" alt="" /></span>') : '');
    }

    в css файле, специально подкючаемый для ie6

    ilyamx, 25 Января 2011

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

    +145

    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
    private String parseCommand(final String value) {
        final StringBuilder s = new StringBuilder();
        for (int i = 0; i < value.length(); i++) {
          final char c = value.charAt(i);
          switch (c) {
          case 'a':
            s.append("[A]");
            break;
          case 'b':
            s.append("[B]");
            break;
          case 'c':
            s.append("[C]");
            break;
          case 'x':
            s.append("[X]");
            break;
          case 'y':
            s.append("[Y]");
            break;
          case 'z':
            s.append("[Z]");
            break;
          case 'B':
            s.append("<Back>");
            break;
          case 'F':
            s.append("<Forward>");
            break;
          case 'D':
            s.append("<Down>");
            break;
          case 'U':
            s.append("<Up>");
            break;
          case '/':
            s.append(" HOLD ");
            break;
          case '~':
            s.append(" RELEASE ");
            break;
          case '$':
            s.append(" INMOVE ");
            break;
          case '+':
            s.append(" AND ");
            break;
          case '>':
            s.append(" START ");
            break;
          default:
            s.append(c);
          }
        }
        return s.toString();
      }

    оптимизация или отсутствие мозгов?

    Lure Of Chaos, 24 Января 2011

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

    +131

    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
    string name = dr["name"].ToString().Trim();
    
                    //отступы
    
                    switch (lev)
                    {
                        case 0: tc.Text = "&nbsp;" + name; break;
                        case 1: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 2: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 3: tc.Text = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + name; break;
                        case 4:
                        case 5:
                        case 6: tc.Text = "&nbsp;" + name; break;
                    }

    Создание отступов в ячейке таблицы...

    alex_donetsk, 24 Января 2011

    Комментарии (3)
  8. bash / Говнокод #5362

    −141

    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
    #!/bin/bash
    
    function mdf()
    {
    cd $1
    echo -n "\$1 "$1
    echo
    for a in "1 2 3 4 5"
    do
      mkdir $1$a
      echo -n "1a "$1$a
      echo
    while let "$2<=5"
    do
      c=$2
      let c++
      mdf "$a" $c 
    done
    while let "$2>=5"
    do
    ca=$2
    while let "ca>0"
    do
      cd ..
      let ca--
    done
    mdf "$a" $ca
    done
    done
    }
    
    mdf ./ 0

    Мдф

    AliceGoth, 23 Января 2011

    Комментарии (3)
  9. bash / Говнокод #5357

    −137

    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
    #!/bin/bash
    
    x=0;
    y=0;
    while :
    do
    for((iy=0;iy<=25;iy++))
    {
    for((i=0;i<=190;i++))
    {
      let y++;
    clear
    tput cup $x $y 
    echo "+";
    sleep 0.01s;
    
    }
    let x++;
    for((i=0;i<=190;i++))
    {
      let y--;
    clear
    tput cup $x $y
    echo "+";
    sleep 0.01s;
    }
    let x++;
    }
    
    for((iy=0;iy<=25;iy++))
    {
    for((i=0;i<=190;i++))
    {
      let y++;
    clear
    tput cup $x $y 
    echo "+";
    sleep 0.01s;
    
    }
    let x--;
    for((i=0;i<=190;i++))
    {
      let y--;
    clear
    tput cup $x $y
    echo "+";
    sleep 0.01s;
    }
    let x--;
    }
    done

    Обход курсора

    AliceGoth, 23 Января 2011

    Комментарии (3)
  10. bash / Говнокод #5356

    −141

    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
    #!/bin/bash
    
    read str
      str=${str//1/2}
     str=${str//0/1}
      str=${str//2/0}
      echo $str
    str=${str##*0};
      echo $str
    exit 0
    
    for pid in `ps -ef | gawk '{ print $2 }'`
    do
      echo "pid "$pid;
      cat /proc/$pid/comm
      cmd=`cat /proc/$pid/cmdline`
      echo ''
      for fdinfo in `ls /proc/$pid/fd`
      do
        echo "     "$fdinfo
      if [ $USER==root ]; then
        fd=`ls -l /proc/$pid/fd/$fdinfo | gawk '{ print $11 }'`
       else
        fd=`ls -l /proc/$pid/fd/$fdinfo | gawk '{ print $10 }'`
       fi
        owner=`ls -l $fd | gawk '{ print $3}'`
        echo "     "$fd" pid"$pid" cmdline "$cmd" own "$owner
      done
    done

    Ищет файлы процесов

    AliceGoth, 23 Января 2011

    Комментарии (3)
  11. Python / Говнокод #5354

    −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
    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
    #! /usr/bin/python2.4
    # -*- coding: utf-8 -*-
    '''
    from Tkinter import *
    import subprocess
    import Queue
    import threading
    
    class ifStatThreadClass(threading.Thread):
        """класс потока с ifstat"""
        def __init__(self,breakCount):
            global listBox
            selectedIface=listBox.curselection()
            if not selectedIface: selectedIface=0
            self.ifaceName=listBox.get(selectedIface);
            self.breakCount=breakCount
            threading.Thread.__init__(self)
            
        def run(self):
            global queue
            global stop_event       
        # рабочий тред, запускает ifstat на вывод 20 строк    
            global listBox
            cmd="ifstat -i %s 1 %s"% (self.ifaceName, self.breakCount,)
            print "Запускаю: %s"%cmd
            PIPE = subprocess.PIPE
            p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE,
                    stderr=subprocess.STDOUT, close_fds=True)
            #пока нет стоп-события ловим строки из стдоута
            if (stop_event.is_set()): print "stop event detected!"
            while not stop_event.is_set():
                s = p.stdout.readline()
                if not s: break
                if self.breakCount==0: break
                self.breakCount-=1
                #кладем очередную строку в очередь
                queue.put(s)
                print s,
            
    def startIfStat():
        """ стартуем рабочий тред"""
        global stop_event
        global ifStatThread
        ifStatThread = ifStatThreadClass(10)
        try:
            stop_event.clear() 
            ifStatThread.start() 
        except: 
            print "Не могу запустить поток! Может, он уже запущен?"
            stop_event.set()
        
        #вот тут стартуем
           
                
    def stopWorker():
        """создаем стоп-событие"""
        print("Тпырррр!")
        global stop_event
        global ifStatThread
        # установим событие останова
        stop_event.set()
        
    def ifStatResultUpdater():
        """обновлялка текстового поля из очереди query"""
        global queue
        global stop_event
        global ifStatResult
        global ifStatThread
        global emptyQueueCounter
    #    print("updater")
    #    ifStatResult.configure(text=time.strftime('%H:%M:%S'))
        #только если не было стоп-события 
    
        if not stop_event.is_set():
            if ifStatThread.isAlive(): print "Поток еще жив!"
            else: print "Потока в живых не обнаружено"
            s='' 
            try:
                #берем из очереди строку и выводим на лейбл
                print 'Что у нас в очереди? ',
                s = queue.get_nowait()
                print "а в очереди вот:",s
                ifStatResult.configure(text=s)
            except Queue.Empty:
                print('ничего в очереди нету(')
                if (emptyQueueCounter>2):
                    print('аааа.. похоже, все умерли... щас заново запущу!') 
                    startIfStat()
                    emptyQueueCounter=0                
                emptyQueueCounter+=1
                
            #если стоп-события не было, запускаем эту же функцию через секунду
        root.after(1000,ifStatResultUpdater)
    
    queue = Queue.Queue() #создаем очередь
    emptyQueueCounter=0

    Мой первый (мало-мальски серьезный) опыт на питоне. Выводит список из 3х интерфейсов, по нажатию Старт запускает тред с ифстатом, выводит в окошко результаты. Кривинько-косо, но работает)
    Если есть замечания как криво написано и предложения как лучше, жду комментарии.
    P.S. до этого писал на пхÐ%BF, D1‚ак что не пинайте сильно)

    hakimovis, 23 Января 2011

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