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

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

    −17

    1. 1
    if(0){}else for (... тут всякий код...) и тут всякий код

    Из реализации foreach в Qt. Не ГК. Кто первый скажет почему не ГК получит пирожок с полочки.

    bormand, 17 Мая 2012

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

    +71

    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
    public class ... {
    
    public Double toDoubleValue(String s){
    	Double value;
    	if (s!=""){
    		value = Double.valueOf(s);
    		return value;
    	}
    	else {
    		value = 0.00;
    		return value;
    	}
            ....
            toDoubleValue(row.getColumnValue(col.getId()).toString());
    }

    1. На null не проверяется
    2. Можно было тоже самое написать короче, не объявляя дополнительный метод, с помощью ?:

    -EZ-, 02 Мая 2012

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

    +84

    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
    public static String converterMsToTimeString(Long msecond){
    		String result="";
    		if (msecond!=0){
    			long hours =  msecond /(1000*60*60);
    			long minuts =  (msecond % (1000*60*60))/(1000*60);
    			long seconds =  ((msecond % (1000*60*60)) %(1000*60)) / 1000;
    			result = (hours < 10 ? "0" + String.valueOf(hours) : String.valueOf(hours)) + ":" 
    					+ (minuts < 10 ? "0" + String.valueOf(minuts) : String.valueOf(minuts)) + ":"
    						+ (seconds < 10 ? "0" + String.valueOf(seconds) : String.valueOf(seconds));
    			
    		}
    		result=""; // not many
    		return result;
    	}

    Вставлено как есть. Смысл комента ускользает...

    alexcom, 28 Апреля 2012

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

    +111

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    do
    {
        ...
    } while (!stopEvent.WaitOne(1000, false));
    // Вылетает с MissingMethodException, если не стоит SP1 к .NET Framework 3.5
    //} while (!stopEvent.WaitOne(1000));

    Как хорошо, что мощная и надежная технология .NET избавила нас от Dll Hell!

    Steve_Brown, 26 Апреля 2012

    Комментарии (21)
  6. Куча / Говнокод #10000

    +99

    1. 1
    http://img.ponibooru.org/images/4e/4e688d1fa583ab735ea3974cdb855897

    bot-minurast, 20 Апреля 2012

    Комментарии (21)
  7. ActionScript / Говнокод #9987

    −124

    1. 1
    var allInteractiveItems : Array = ItemSearchHelper.join(ItemSearchHelper.join(ItemSearchHelper.sortById(_worldInfo.itemsInteractive), ItemSearchHelper.sortById(GameInfo.instance.items)), ItemSearchHelper.sortById(GameInfo.instance.itemsInteractive)).concat(ItemSearchHelper.sortById(_worldInfo.items));

    Оптимизнула к концу рабочего дня...

    kyzi007, 19 Апреля 2012

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

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    for (int i = 0; i < retries; i++)
    {
        if ((GetProductVersioningProvider() as IQueueProductVersion).IsVersionCommitted(version))
        {
            return true;
        }
        else
        {
            Thread.Sleep(checkDelay);
        }
    }

    Классика жанра же.

    abatishchev, 17 Апреля 2012

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

    +119

    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
    using System;
    
    namespace IPGuard
    {
    	class Program
    	{
    		public static void Main(string[] args)
    		{
    			System.Net.IPAddress IPAdress = null;
    			System.Net.NetworkInformation.Ping Ping = null;
    			for (int IP1 = 1; IP1 < 255; IP1++)
    			{
    				for (int IP2 = 0; IP2 < 255; IP2++) 
    				{
    					for (int IP3 = 0; IP3 < 255; IP3++) 
    					{
    						for (int IP4 = 0; IP4 < 255; IP4++) 
    						{
    							IPAdress = System.Net.IPAddress.Parse(Convert.ToString(IP1) + "." + Convert.ToString(IP2) + "." + Convert.ToString(IP3) + "." + Convert.ToString(IP4));
    							Ping = new System.Net.NetworkInformation.Ping();
    							if (Ping.Send(IPAdress).Status == System.Net.NetworkInformation.IPStatus.Success) 
    							{
    								Console.WriteLine(IPAdress);
    							} 
    						}
    					}
    				}
    			}
    		}
    	}
    }

    Программа для поиска всех доступных IP адрессов.

    KusokGovna, 07 Апреля 2012

    Комментарии (21)
  10. Java / Говнокод #9863

    +73

    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
    static 
        {
            unionSize = Math.max(6, 6);
            size = 2 + unionSize + 4;
        }
    
                // следующий участок
    
                case 7:
                {
                    int result = (int)((long)getValue(cmd.isByteMode(), mem, op1) & 0L);
                    if(cmd.isByteMode())
                        result &= 0xff;
                    setValue(cmd.isByteMode(), mem, op1, result);
                    flags = result != 0 ? result & VMFlags.VM_FS.getFlag() : VMFlags.VM_FZ.getFlag();
                    break;
                }
    
                case 49:
                {
                    setValue(true, mem, op1, (int)((long)getValue(true, mem, op1) & 0L));
                    break;
                }
    
                case 50:
                {
                    setValue(false, mem, op1, (int)((long)getValue(false, mem, op1) & 0L));
                    break;
                }
    
                //=========== еще участок ============
    
                    long dataSize = (long)ReadData(this) & 0L;
                    for(int i = 0; inAddr < codeSize && (long)i < dataSize; i++)
                    {
                        prg.getStaticData().addElement(new Byte(valueOf((byte)(fgetbits() >> 8))));
                        faddbits(8);
                    }

    Вот такое нашел в исходниках недавно

    Doctoror, 04 Апреля 2012

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

    +109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private IEnumerable<CharacteristicValue> GetCharacteristicValues(IQueryable<CharacteristicValue> allCharacteristicValues, int characteristicId)
    {
          var characteristicValues = new CharacteristicValue[userIds.Length];
    
           for (var i = 0; i < userIds.Length; i++)
           {
               characteristicValues[i] = allCharacteristicValues.FirstOrDefault(cv => cv.UserId == userIds[i] && cv.CharacteristicId == characteristicId); // Todo: Try to replace with a single query.
           }
    
           return characteristicValues;
    }

    Драсьте, нашёл в коде такую вот какашку. Как видите параметр allCharacteristicsValues реализует интерфейс IQuarable из EF. То бишь каждый раз, когда будет вызываться метод FirstOrDefault будет делаться запрос к базе. В идеале это должно было бы выглядеть так:

    var characteristicValues = allCharacteristicValues.Where(cv => cv.CharacteristicId == characteristicId && userIds.Contains(cv.UserId));

    Но при такой реализации размер масива пользователей и значение может разниться:

    Values:
    val1
    val2
    val3

    Users:
    1
    2
    3
    4
    5

    Для первого же варианта результат будет выглядеть так:
    Values:
    val1
    val2
    val3
    null
    null

    Users:
    1
    2
    3
    4
    5


    Собственно всё )))) Надеюсь подсоветуете чего-нибудь хорошего ;)

    walash, 20 Марта 2012

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