1. C++ / Говнокод #215

    −40.1

    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
    /* This is bad. Reaaly bad. It's a really, really bad hack. If you're an employee of 
     * Intertrode Communication, then I'm really, really sorry that you have to maintain
     * this. I was honestly planning on removing this tomorrow, but I've been known to 
     * forget things like this. It happens.
     *
     * So here's the thing. I can't seem to figure out why the AccountId variable isn't 
     * set. I've looked and looked, but I gotta leave now. Anyway, I've found that I can
     * just grab the AccountID from the debugging logs.  I suppose that to fix it, you'd
     * have to locate where it's clearing out the ID.
     *
     * Again, I'm sorry.
     */
    
    if ( (AccountId == NULL) || (AccountId == "") ||
         (ServerSesion["AccountId"] == NULL) || (ServerSesion["AccountId"] == "") )
    {
      //open session logs
      FileHandle file = f_open(LOG_PATH + "\sessionlog-" + LOG_FILE_DATE + ".log", 1);
      while (file != NULL)
      {
        
        TString line = f_readline(file);
    
        //look for IP and changereg
        if ( (sfind(line,REMOTE_ADDR) != -1) && (sfind(line,"changereg") != -1) )
        {
          //0000-00-00 00:00 /accountmaint/changereg/?AccountId=123456 255.255.255.255 ...
          //                                                    *
          AccountId = substr(line, 52, 6);
        }
    
        if (f_EOF(file)) { f_close(file); file = NULL; }
      }
    
    }

    У чувака где то перетирается AccountId, так он берет данные из логов IIS'а :) Главное, что он сожалеет об этом.
    Отсюда: http://thedailywtf.com/Articles/The_Apologetic_Coder.aspx

    guest, 18 Декабря 2008

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

    −156.8

    1. 1
    2. 2
    3. 3
    4. 4
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))
    Почему нет раздела по 1С? )))

    Почему нет раздела по 1С? )))

    guest, 18 Декабря 2008

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

    −27.3

    1. 1
    2. 2
    3. 3
    cout<<"enterX"<<endl;
         cin >>x;
    x = 0.125;

    guest, 18 Декабря 2008

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

    +1429.9

    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
    bool IsBukva(char symbol)
    {
    switch(symbol)
    {
    case'a':return 1;break;
    case'b':return 1;break;
    case'c':return 1;break;
    case'd':return 1;break;
    case'e':return 1;break;
    case'f':return 1;break;
    case'g':return 1;break;
    case'h':return 1;break;
    case'i':return 1;break;
    case'j':return 1;break;
    case'k':return 1;break;
    case'l':return 1;break;
    case'm':return 1;break;
    case'n':return 1;break;
    case'o':return 1;break;
    case'p':return 1;break;
    case'q':return 1;break;
    case'r':return 1;break;
    case's':return 1;break;
    case't':return 1;break;
    case'u':return 1;break;
    case'v':return 1;break;
    case'w':return 1;break;
    case'x':return 1;break;
    case'y':return 1;break;
    case'z':return 1;break;
    case'A':return 1;break;
    case'B':return 1;break;
    case'C':return 1;break;
    case'D':return 1;break;
    case'E':return 1;break;
    case'F':return 1;break;
    case'G':return 1;break;
    case'H':return 1;break;
    case'I':return 1;break;
    case'J':return 1;break;
    case'K':return 1;break;
    case'L':return 1;break;
    case'M':return 1;break;
    case'N':return 1;break;
    case'O':return 1;break;
    case'P':return 1;break;
    case'Q':return 1;break;
    case'R':return 1;break;
    case'S':return 1;break;
    case'T':return 1;break;
    case'U':return 1;break;
    case'V':return 1;break;
    case'W':return 1;break;
    case'X':return 1;break;
    case'Y':return 1;break;
    case'Z':return 1;break;
    default:return 0;
    }
    }

    Женский вариант проверки символа на букву.
    Оригинал тут: http://forum.vingrad.ru/forum/topic-240593.html

    guest, 17 Декабря 2008

    Комментарии (211)
  5. PHP / Говнокод #208

    +25.9

    1. 1
    2. 2
    3. 3
    $temp = $this->template($this->modulePath."/right_frame");
    eval("\$blockData = \"$temp\";");
    return $blockData;

    Реализация механизма подключения шаблонов в PHP %)

    guest, 17 Декабря 2008

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

    −43

    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
    if(isRegKeyRequired) {
                keyItems = new XItem [4];
                valueItems = new XItem [4][];
                totalItems = 4;
    
                keyItems[0] = new XItem();
                keyItems[0].setLabel(TextUtils.getText(280),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(countryBox_rp);
                totalItems += setValues(valueItems, values,0);
                keyItems[1] = new XItem();
                keyItems[1].setLabel(TextUtils.getText(281),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(phoneNoBox_rp);
                totalItems += setValues(valueItems, values,1);
                keyItems[2] = new XItem();
                keyItems[2].setLabel(TextUtils.getText(282),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(regKeyBox_rp);
                totalItems += setValues(valueItems, values,2);
                keyItems[3] = new XItem();
                keyItems[3].setLabel(TextUtils.getText(283),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(emailBox_rp);
                totalItems += setValues(valueItems, values,3);
            }
            else {
                keyItems = new XItem [3];
                valueItems = new XItem [3][];
                totalItems = 3;
    
                keyItems[0] = new XItem();
                keyItems[0].setLabel(TextUtils.getText(280),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(countryBox_rp);
                totalItems += setValues(valueItems, values,0);
                keyItems[1] = new XItem();
                keyItems[1].setLabel(TextUtils.getText(281),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(phoneNoBox_rp);
                totalItems += setValues(valueItems, values,1);
                keyItems[2] = new XItem();
                keyItems[2].setLabel(TextUtils.getText(283),XItem.LABEL_CONSTRAINT_CENTER);
                values = getValueItems(emailBox_rp);
                totalItems += setValues(valueItems, values,2);
            }

    очень трудолюбивые эти индусы. Такой код - это просто пипец особенно если учесть что приложение разрабатывается для J2ME

    guest, 16 Декабря 2008

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

    +24.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if(empty($real_name)) $real_name = $file_name; 		
    if(empty($real_name)) $real_name="fileid_".$id;
    
    .... 
    
    if($mode=="send") {
    	$head[] = array("link" => "customer.php?area=$area&mode=send", "title" => func_get_langvar_by_name("lbl_send_to_mail"), active=>"Y");
    }	else	{
    	$head[] = array("link" => "customer.php?area=$area&mode=send", "title" => func_get_langvar_by_name("lbl_send_to_mail"), active=>"n");
    }

    Разбирая один из скриптов на досуге, обнаружил, что некоторые программисты уж совсем с головой не дружат.

    1. Думаю, все тут ясно.
    2. Чувак явно не знает что такое логика... Мало того, что в одну строку ложится массив, так еще и ВЕЗДЕ строковые 'Y'/'N' использует вместо булевых труфолсов. И такого говна - тыщи 2 строк. Ы =)

    Не позавидую тем, кто будет дописывать / переделывать.
    ЗЫ: Скрипт - рип корпоративной системы.

    guest, 16 Декабря 2008

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

    −37.2

    1. 1
    isRegKeyRequired = distKey == null ? false : distKey.equals("yes") ? true : false;

    Уматный ХавнАкоД коллеги из Индии. Ну просто няйсь. Смотрится куда зло*буче чем желаемый вариант (isRegKeyRequired = "yes".equals(distKey));

    guest, 16 Декабря 2008

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

    +29.3

    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
    for ($i=0; $i < $this->acl_count; $i++)
    		{
    			$acl =& $this->acl[$i];
    			if (strcasecmp( $aco_section_value, $acl[0] ) == 0) {
    				if (strcasecmp( $aco_value, $acl[1] ) == 0) {
    					if (strcasecmp( $aro_section_value, $acl[2] ) == 0) {
    						if (strcasecmp( $aro_value, $acl[3] ) == 0) {
    							if ($axo_section_value && $acl[4]) {
    								if (strcasecmp( $axo_section_value, $acl[4] ) == 0) {
    									if (strcasecmp( $axo_value, $acl[5] ) == 0) {
    										$acl_result = @$acl[6] ? $acl[6] : 1;
    										break;
    									}
    								}
    							} else {
    								$acl_result = @$acl[6] ? $acl[6] : 1;
    								break;
    							}
    						}
    					}
    				}
    			}
    		}

    из ядра Joomla

    guest, 16 Декабря 2008

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

    +17.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Function nSetColorPair(att : integer) : integer;
    var
       i : integer;
    Begin
       bg := att div 16;
       fg := att - (bg * 16);
       While bg > 7 Do dec(bg,8);
       While fg > 7 Do dec(fg,8);
    // . . .

    Кусок модуля nCRT для FreePascal 2.2. У нормальных людей att - это байт. И вообще... Говно код!

    guest, 16 Декабря 2008

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