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

    +18

    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
    #include <iostream>
    #include <map>
    
    struct A { 
       const static int i = 10;
    };
    
    using namespace std;
    
    int main()
    {
       map<int, string> m;
       m[0] = "zero";
       m[A::i] = "A::i"; // Не везде работает
       cout << A::i << endl;
       return 0;
    }

    Недели stackoverflow на уютненьньком.
    Почему-то этот код не собирается в GCC 4.7.2, но при этом работает в 4.6.3 и 4.8.0.
    http://liveworkspace.org/code/2o5qOP$1
    http://liveworkspace.org/code/2o5qOP$2
    http://liveworkspace.org/code/2o5qOP$3

    absolut, 01 Марта 2013

    Комментарии (49)
  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. C# / Говнокод #12667

    +139

    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
    for (int i = 0; i < 100; i++)
    {
        string s = i.ToString();
    
        if (s.Length == 1)
        {
            s = "00" + s;
        }
    
        if (s.Length == 2)
        {
            s = "0" + s;
        }
    
        Console.WriteLine(s);
    }

    Из рабочего проекта. Парень не слышал про string.Format("{0:000}", i)

    pewpew, 28 Февраля 2013

    Комментарии (15)
  4. Java / Говнокод #12665

    +81

    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
    public String isThisScreenWithHdpiDensity() {
        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        switch (metrics.densityDpi) {
            case DisplayMetrics.DENSITY_LOW:
                return "ldpi";
            case DisplayMetrics.DENSITY_MEDIUM:
                return "mdpi";
            case DisplayMetrics.DENSITY_HIGH:
                return "hdpi";
        }
        return "xhdpi";
    }
    
    ...
    if (isThisScreenWithHdpiDensity().equals("hdpi")) {
        lpTabPane.height = 65;
    }
    if (isThisScreenWithHdpiDensity().equals("mdpi")) {
        lpUpperPane.height = 70;
    }
    if (isThisScreenWithHdpiDensity().equals("ldpi")) {
        lpTabPane.height = 32;
    }
    if (isThisScreenWithHdpiDensity().equals("xhdpi")) {
    
    }

    Перегоним константу в стрингу, а потом проверим ее equals. Отлично!

    danikula, 28 Февраля 2013

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

    +8

    1. 1
    2. 2
    #define I_HATE_MACRO2(BEGIN__, END__) BEGIN__##END__
    #define CONCAT_MACRO(BEGIN__, END__) I_HATE_MACRO2(BEGIN__,END__)

    LispGovno, 28 Февраля 2013

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

    +113

    1. 1
    2. 2
    3. 3
    public static void assertAlmostEquals(final double actual, final double expected) {
    	Assert.assertTrue(Math.abs(actual - expected) < 0.000001);
    }

    someone, 28 Февраля 2013

    Комментарии (5)
  7. Куча / Говнокод #12662

    +119

    1. 1
    Dummy commit for the sake of documentation (previous commit was made without a message)

    someone, 28 Февраля 2013

    Комментарии (16)
  8. SQL / Говнокод #12661

    −169

    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
    DECLARE @IsPerson BIT  
     ,@ContactTypeID INT  
    
     SET @ContactTypeID = CASE WHEN @IsPerson = 0 THEN 3 ELSE 4 END  
    
     IF (LEN(ISNULL(@FirstName,'')) <= 0 AND LEN(ISNULL(@LastName,'')) <= 0 AND (LEN(@EntityName) > 0 OR LEN(@TradingAs) > 0))  
     BEGIN  
      SET @IsPerson = 0  
     END   
     ELSE  
     BEGIN  
      SET @IsPerson = 1  
     END

    Такая себе Stored Procedure...
    Magic numbers - это всё фигня. Меня всегда интересовало, почему тип контакта всегда 4?
    И, да, строки идут именно в такой очерёдности.

    kore_sar, 28 Февраля 2013

    Комментарии (1)
  9. JavaScript / Говнокод #12660

    +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
    //...
                    else if (data.indexOf('none') == -1)
                    {
                        // Экспорт в работе
                        // Повторять запрос раз в nSec секунд.
                        nSec = 3;
                        document.getElementById("export_loading").show();
                        setTimeout("loadFile({{subject_id}}, '')", nSec*1000);
                    }
    //...
    <div class='loader' id="export_loading" style="visibility: hidden; display: inline-block; text-align: center; margin-right: 13px;"><img src='/app/images/loading.gif'/> идёт формирование списка авторов</div>
    <div id="messages_container" style="visibility: hidden; padding: 0px 30px 0 35px;">
    </div>

    Чувак вообще прикалывается)

    greevex, 27 Февраля 2013

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

    +146

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    class Step {
      public function xxx($arg1, $arg2 = NULL) {
    
      };
    }
    
    class FirstStep extends Step {
      public function xxx($arg3, $arg1 = NULL, $arg2 = NULL) {
    
      };
    }

    В очередной раз подтверждает что пхп - гамно!
    А автору кода вообще линейкой по пальцам, куда, как, зачем менять сигнатуру да и еще не правильно!!!
    И это в проэкте каторый стоит 15000Евро

    v_anonym, 27 Февраля 2013

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