1. PHP / Говнокод #4416

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    //Переводим строку в нижний регистр
    function myStrtolower($word){
    	return strtr(strtolower($word), 'ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ', 'йцукенгшщзхъфывапролджэячсмитьбю');
    }

    сказать нечего

    Sum, 22 Октября 2010

    Комментарии (13)
  2. Си / Говнокод #4415

    +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
    enum {
    	CONST_A,
    	CONST_B,
    	CONST_C,
    	/* ... и еще пяток в том же духе */
    };
    
    /* ... */
    
    char opType = ...;
    switch(opType) {
    case 'A':
    	/* строчек 10 кода использующие CONST_A */
    	break;
    case 'B':
    	/* капипасто тех же строчек 10 кода - но теперь с CONST_B */
    	break;
    case 'C':
    	/* капипасто тех же строчек 10 кода - но с CONST_C */
    	break;
    /* и т.д. и т.п. для других значений opType */
    }

    только что убил полчаса что бы понять что switch/case завален 100% копиями того же самого кода - только со смененной константой. просто замапить тот char в enum ... это наверное исключительно для слишком умных.

    Dummy00001, 22 Октября 2010

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

    +112

    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
    procedure TfmConf_PA30.btnWritePAClick(Sender: TObject);
    begin
       if WriteByVariable(11,lbLog6) then begin
        if WriteByVariable(12,lbLog6) then begin
         if WriteByVariable(13,lbLog6) then begin
          if WriteByVariable(14,lbLog6) then begin
           if WriteByVariable(15,lbLog6) then begin
            if WriteByVariable(16,lbLog6) then begin
             if WriteByVariable(17,lbLog6) then begin
              if WriteByVariable(18,lbLog6) then begin
               if WriteByVariable(19,lbLog6) then begin
                if WriteByVariable(20,lbLog6) then begin
                 if WriteByVariable(21,lbLog6) then begin
                  if WriteByVariable(22,lbLog6) then begin
                   if WriteByVariable(23,lbLog6) then begin
                    if WriteByVariable(24,lbLog6) then begin
                     if WriteByVariable(25,lbLog6) then begin
                      if WriteByVariable(26,lbLog6) then begin
                       if WriteByVariable(27,lbLog6) then begin
                        if WriteByVariable(28,lbLog6) then begin
                         if WriteByVariable(29,lbLog6) then begin
                          if WriteByVariable(30,lbLog6) then begin
                           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (30)');
                         end else
                          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (29)');
                        end else
                         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (28)');
                       end else
                        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (27)');
                      end else
                       lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (26)');
                     end else
                      lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (25)');
                    end else
                     lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (24)');
                   end else
                    lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (23)');
                  end else
                   lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (22)');
                 end else
                  lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (21)');
                end else
                 lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (20)');
               end else
                lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (19)');
              end else
               lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (18)');
             end else
              lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (17)');
            end else
             lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (16)');
           end else
            lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (15)');
          end else
           lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (14)');
         end else
          lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (13)');
        end else
         lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (12)');
       end else
        lbLog6.Items.Add('Ошибка: Нет ожидаемого ответа от оборудования (11)');
    end;

    может циклом надо было? :)
    for i:=11 to 40 do...

    pethead, 22 Октября 2010

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

    +108

    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
    private void InitializeUser()
    {
    	textBoxFirstname.Text = _user.FirstName;
    	textBoxLastname.Text = _user.LastName;
    	textBoxPassword.Text = _user.Password;
    	textBoxUsername.Text = _user.UserName;
    	textBoxMail.Text = _user.Mail;
    	comboBoxRoles.Text = _user.UserRole.Id>0 ? _user.UserRole.RoleName : "";
    	
    	comboBoxRoles.Enabled = true;
    
    	if(User.CurrentUser.isLoanOfficer || User.CurrentUser.isVisitor || User.CurrentUser.isCashier)
    	{
    		comboBoxRoles.Enabled = false;
    	}
    	else if(User.CurrentUser.isAdmin)
    	{
    		if(_user.isAdmin || _user.isSuperAdmin) comboBoxRoles.Enabled = false;
    	}
    	else if(User.CurrentUser.isSuperAdmin)
    	{
    		if(_user.isSuperAdmin) comboBoxRoles.Enabled = false;
    	}
    }

    Код взят из реального open source проекта. Реализация многоуровневой проверки прав текущего пользователя :).

    _Ru55_, 22 Октября 2010

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

    +144

    1. 1
    if ((text == '' || text == '\n') && document.getElementById('log').innerHTML == '...')

    Вот такое говнецо я сделал. Надо исправить.
    Следуя лозунгу говнокода "Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!", выкладываю.

    КЭП: document.getElementById('log').innerHTML == '...' - Фэйл, не надо завязываться на содержимое.

    Oleg_quadro, 22 Октября 2010

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

    +117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    widgetPanel.ID = new Guid(String.Format("{0:D32}", widgetInfo.Id));
    
    // в другом месте
    
    var widgetId = Convert.ToInt32(widgetPanel.ID.ToString().Replace('-', '0').TrimStart('0'));

    Как узнать что именно надо класть на панель?
    Очень просто - брать ее id типа Guid, а искать в списке классов с id типа int

    Разумеется, никто не запрещал сделать что бы оба были guid, но это же совершенно не интересно.

    eval_2009, 21 Октября 2010

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

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $a_year[2005]="2005";
    $a_year[2006]="2006";
    $a_year[2007]="2007";
    $a_year[2008]="2008";
    $a_year[2009]="2009";
    $a_year[2010]="2010";
    $a_year[2011]="2011";
    $a_year[2012]="2012";

    больше 2012 года не вписали... xd

    ferry-very-good, 21 Октября 2010

    Комментарии (32)
  8. PHP / Говнокод #4409

    +158

    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
    function getAvailableFlights($source,$dest){
    
        $connection = initDB();
        $query2;       
    
        $query2 = "SELECT * FROM Sectors WHERE Sector='".$source."'";
        $result2 = mysql_query($query2);
            //or die ("Query Failed ".mysql_error());                
        $row2 = mysql_fetch_array($result2);
        $SourceSID = $row2['SID'];
    
        $query3 = "SELECT * FROM Sectors WHERE Sector='".$dest."'";
        $result3 = mysql_query($query3);
            // or die ("Query Failed ".mysql_error());                
        $row3 = mysql_fetch_array($result3);
        $destSID= $row3['SID'];
            
            //Get available flights
        $query3 = "SELECT * FROM Flights WHERE SourceSID='".$SourceSID."' AND DestSID='".$destSID."'";
        $result3 = mysql_query($query3);
            //  or die ("Query Failed ".mysql_error()); 
    
        $flightsArray;
        $flightsID=1;
    
        while($row = mysql_fetch_array($result3)){        
                $fName= $row['FName'];
                $flightsArray[$flightsID] = $fName;
                $flightsID = $flightsID +1;
            }
        closeDB($connection);
        return $flightsArray;
    }

    В NetBeans есть несколько примеров с проектами PHP. Один из них AirAlliance. весь код оттуда можно сюда запостить.
    ну вместо той херни что написана выше можно использовать один запрос MySql
    'select distinct f.FName
    from Flights f
    left join Sectors s on f.SourceSID=s.SID
    left join Sectors d on f.DestSID=d.SID
    where s.SID='.(int)$source.' or d.SID='.(int)$dest

    duburlan, 21 Октября 2010

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

    +160

    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
    class XXX
    {
    	function _item()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function _lister()
    	{
    		return $this->val = substr(__FUNCTION__,1);
    	}
    
    	function item()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function lister()
    	{
    		return ($this->val === __FUNCTION__);
    	}
    
    	function __construct()
    	{
    		$this->_lister();
    	}
    }

    В прицнипе пофиг что оно делает. Но смотреть без слез, имхо нельзя :)

    grelkin, 21 Октября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    if( DateDiff > 1000*60*60*24*122 ) {
    	  	 $("#mfilter_err").text("Выбран интервал времени больше 4 месяцев");
    		 return false;
    	  }

    Странное у человека представление о длине 4 месяцев

    getrix, 21 Октября 2010

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