1. Java / Говнокод #12671

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    String currentDate = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new Date());
     accountNumber.append(String.valueOf(1900 + new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getYear()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMonth()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getDate()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getHours()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getMinutes()));
     accountNumber.append(String.valueOf(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(currentDate).getSeconds()));

    ну а чо, зато внушительно выглядит

    nafania217518, 01 Марта 2013

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

    −166

    1. 1
    IFNULL(sum(r.value), 0)/ IF(count(r.value) <> 0, count(r.value), 1)  as rating

    А как вы считаете среднее арифметическое?

    SunnyMagadan, 01 Марта 2013

    Комментарии (2)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. Куча / Говнокод #12662

    +119

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

    someone, 28 Февраля 2013

    Комментарии (16)
  10. 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)