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

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

    +27

    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
    //Определение рангов узлов
      NL1=NL2=0; int msKl1,kl1I1;
     M6: NL1=NL1+NL2; FormMS(NL1,MS); K9=NO-NL1; KSS=32767*32767*2;
      for(J=2;J<=K9;J++)
        {KS[J]=KU1[J]*(KU1[J]-1)/2;
         if(KS[J] != 0)
          {L6=KU2[J-1]+1; L8=KU2[J]; L7=L8-1;
           for(I1=L6;I1<=L7;I1++)
             {II2=I1+1; kl1I1=KL1[I1];
              for(I2=II2;I2<=L8;I2++)
                {msKl1=MS[KL1[I2]];
                 L61=KU2[msKl1-1]+1; L71=KU2[msKl1];
                 for(L=L61;L<=L71;L++)
                   {if(KL1[L] != kl1I1)goto M10;
                    else { KS[J]--; goto M9;}
               M10:;}
             M9:;}
             }
          }
          if(KS[J] < KSS) KSS=KS[J];
        }
    //=================

    куски кода какой-то очень древней расчетной программы. Радует форматирование

    mapron, 01 Марта 2013

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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function hereDoc(f) {
      return f.toString().
          replace(/^[^\/]+\/\*!?/, '').
          replace(/\*\/[^\/]+$/, '');
    }
    
    var tennysonQuote = hereDoc(function() {/*!
      Theirs not to make reply,
      Theirs not to reason why,
      Theirs but to do and die
    */});

    Многострочные стринги в JavaScript, получаемые путем извлечения комментария из тела функции.

    http://stackoverflow.com/a/5571069/371970

    WGH, 23 Февраля 2013

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

    −110

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    case 3:
    #if !SOME_SWITCH
            vc = [AViewController new];
            break;
    
        case 4:
    #endif
            [[EGOCache currentCache] clearCache];
            break;

    За такое, по-хорошему, стоит руки отрывать, но я сильно торопился.

    byss, 21 Февраля 2013

    Комментарии (8)
  5. Objective C / Говнокод #12627

    −100

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    BOOL isMan = [[NSUserDefaults standardUserDefaults] boolForKey:POLM];
    		BOOL newSex = [[NSUserDefaults standardUserDefaults] boolForKey:SEX];
    		if (isMan != newSex) {
    				// Меняем пол
    			[[NSUserDefaults standardUserDefaults] setBool:newSex forKey:POLM];
    			[[NSUserDefaults standardUserDefaults] synchronize];
                     }

    Операция по смене пола - это не так просто, как кажется

    mas_an, 21 Февраля 2013

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

    +65

    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
    package com.example.testing;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }
        
    }

    Govnisti_Diavol, 17 Февраля 2013

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

    +155

    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
    if (true) {
                $res = mssql_query("SELECT  CAST(_Fld204 AS TEXT) AS _Fld204 FROM [dbo].[_Reference24] WHERE _Fld203='" . $login . "' ");
                $pass = mssql_fetch_array($res, MSSQL_ASSOC);
                $pass = $pass["_Fld204"];
                if ( strlen($pass) > 0 && $pass == $password ) {
                    $_SESSION["AUTH_V"] = "Y";
                    $_SESSION["LOGINSS"]= trim($login);
                }
                else {
                    $_SESSION["AUTH_V"] = "N";
                }
    
    
           }

    Кусок авторизации

    unst, 17 Февраля 2013

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

    +25

    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
    if (delitel.number.at(0) == '0')
                         {
                             chastnoe.number.push_back('D');
                             chastnoe.number.push_back('e');
                             chastnoe.number.push_back('L');
                             chastnoe.number.push_back('e');
                             chastnoe.number.push_back('N');
                             chastnoe.number.push_back('i');
                             chastnoe.number.push_back('e');
                             chastnoe.number.push_back(' ');
                             chastnoe.number.push_back('n');
                             chastnoe.number.push_back('a');
                             chastnoe.number.push_back(' ');
                             chastnoe.number.push_back('0');
     
                             return chastnoe;
                         }

    Из чьей-то реализации длинной арифметики

    west_coast_coders, 08 Февраля 2013

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

    +130

    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
    switch(true){
        case isCondFirst():
            value = valueFirst();
            break;
        case isCondSecond():
            value = valueSecond();
            break;
        case isCondThird():
            value = valueThird();
            break;
        default:
            value = valueDefault()
    }

    Занятный баян с хабра. Предложено как замена вложенным тернарным операторам в связи с неочевидным порядком их исполнения в пхп.

    value = isCondFirst() ? valueFirst() : (isCondSecond() ? valueSecond() : (isCondThird() ? valueThird() : (valueDefault())));

    Vindicar, 07 Февраля 2013

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

    +67

    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
    //разделяем даты на день, месяц, год
    $date_one=$_POST['date_one'];
    $date_two=$_POST['date_two'];
    
    $mounth_one=substr($date_one,0,2);
    $day_one=substr($date_one,3,2);
    $year_one=substr($date_one,6,4);
    $mounth_two=substr($date_two,0,2);
    $day_two=substr($date_two,3,2);
    $year_two=substr($date_two,6,4);
    //смотрит какая дата больше чтоб передать функции в правильном порядке
    if ($year_one>$year_two || ($year_one==$year_two &&$mounth_one>$mounth_two)||($year_one==$year_two&&$mounth_one==$mounth_two&&$date_one>$date_two)){
        echo 'первая дата больше<br/>';
        counting_days($date_one,$date_two);
    }else{
        echo 'вторая дата больше<br/>';
        counting_days($date_two,$date_one);
    }

    забыл что сравнить даты можно гораздо проще

    loki, 06 Февраля 2013

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

    +63

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i = (int)Math.pow(10, (n - 1)); 
              int max = i*5;
              int count = 0;
                
              for (i = i; i < max; i++) {  // i = i ??              
                 if (isUnique(i, i*2, n)) { 
                    count++;
                    System.out.printf("%s %s \n", i, i*2);
                 }

    Как обойтись без такого кулхацкерного самоприсваивания?

    Govnocoder#0xFF, 02 Февраля 2013

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