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

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

    +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
    [production]
    phpSettings.display_startup_errors = 0
    phpSettings.display_errors = 0
    includePaths.library = APPLICATION_PATH "/../library"
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
    bootstrap.class = "Bootstrap"
    appnamespace = "Application"
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
    resources.frontController.params.displayExceptions = 0
    
    resources.log.khuy.writerName = "Firebug"
    
    resources.view.helperPath.Zend_View_Helper = APPLICATION_PATH "/../library/Zend/View/Helper"
    resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/views/helpers"
    [staging : production]
    
    [testing : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    
    [development : production]
    phpSettings.display_startup_errors = 1
    phpSettings.display_errors = 1
    resources.frontController.params.displayExceptions = 1

    __proto__, 08 Мая 2012

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    return suffix == ' ' ? ssize : (
                    si ? ssize + suffix : (
                        suffix == ' ' ? ssize + suffix : (
                            ssize + suffix + "iB"
                        )
                    )
            );

    Ведь всего-то навсего
    if (suffix == ' ') return ssize;
    if (si) return ssize + suffix;
    return ssize + suffix + "iB";

    Doctoror, 20 Апреля 2012

    Комментарии (18)
  4. Pascal / Говнокод #9979

    +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
    function ADHasFactory(const AIID: TGUID): Boolean;
    var
      oIntf: IUnknown;
    begin
      try
        ADCreateInterface(AIID, oIntf, False);
        Result := oIntf <> nil;
      except
        Pointer(oIntf) := nil;
        Result := False;
      end;
    end;

    AnyDAC. Проверка наличия фабрики для заданного интерфейса.

    LightBlack, 18 Апреля 2012

    Комментарии (11)
  5. 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)
  6. Java / Говнокод #9798

    +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
    public String XOR_Encrypt(String source, String key)
        {
            byte plain_text[] = new byte[source.length()];
            plain_text = source.getBytes();
            byte key_mas[] = new byte[key.length()];
            key_mas = key.getBytes();
            int key_len = key.length();
            int crypt_pos = 0;
            for(int i = 0; i < source.length(); i++)
            {
                plain_text[i] = (byte)(plain_text[i] ^ 0xaa);
                plain_text[i] = (byte)(plain_text[i] ^ key_mas[crypt_pos]);
                if(crypt_pos >= key_len - 1)
                    crypt_pos = 0;
                else
                    crypt_pos++;
            }
    
            String EText = ByteToHexString(plain_text);
            return EText;
        }
        public static String EncodeSimmetr(String s)
        {
            int MultKey = 62142;
            int AddKey = 11719;
            byte f1[] = new byte[s.length()];
            byte f[] = new byte[s.length()];
            f = s.getBytes();
            for(int i = 0; i < s.length(); i++)
            {
                f1[i] = (byte)(f[i] ^ MultKey);
                MultKey ^= AddKey;
            }
    
            s = new String(f1);
            return s;
        }

    Система шифрования в той-же платёжке...

    dinisoft, 28 Марта 2012

    Комментарии (13)
  7. Java / Говнокод #9662

    +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
    public Show extractDefault(Extract request) {
            CriteriaBuilder criteriaBuilder = converter.convertToDO(request);
            List<EntityDO> list = dao.extract(criteriaBuilder, 0, Byte.MAX_VALUE);
            if (list.size() != 8) {
                if (list.size() != 0) {
                    throw new AssertionError(list.size());
                }
                criteriaBuilder = createCriteriaBuilder();
                list = dao.extract(criteriaBuilder, 0, 100);
            }
            if (list.size() != 8) {
                throw new IllegalStateException("Entity not found");
            }
            return converter.convertToSystem(list);
        }

    Решил запостить код, который дергает сущность из базы как явный говнокод, но после повторного просмотра уже и не кажется таким уж ужасным. Разве что в extract передаются разные значения pagesize(3-ий аргумент) и list.size() сравнивается не понятно. А что скажет общественность?

    jericho, 13 Марта 2012

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

    +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
    if (!policyIds.isEmpty()) {
        AtomicInteger recordCount = new AtomicInteger(0);  // <- WTF?!!!!
        try {
            for (final BigDecimal policyId : policyIds) {
                helper.processPolicy(policyId.longValue(), /* ещё 7 параметров */ recordCount);
            }
        } catch (IOException e) {
                    // код обработки исключения опущен
        }
        saveToFile(ctx, fileName, outputStream.toByteArray(), recordCount);
    }
    
    // А вот что делает helper.processPolicy
    if (selector.matches(policy)) {
        if (processRequestImpl(policy, ctx, fileName, outputStream, ioService, outputDir, applicationContext)) {
            recordCount.getAndAdd(1);
        }
    }

    Integer иммутабелен? Не проблема!

    roman-kashitsyn, 02 Февраля 2012

    Комментарии (18)
  9. Java / Говнокод #8493

    +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
    Credential credential = (Credential) getCurrentObject();
    if(isNew(credential)) {
    	CredentialDetails details=credential.getCurrentDetails();
    	if(details == null)
    		throw new NullPointerException("Credential details object is null");
    
    	CredentialDetails updatedDetails = credential.getCurrentDetails();
    	updatedDetails.setStartDate(getCurrentDate());
    	updatedDetails.setExternalID(credential.getExternalID());
    }
    if(isNew(credential)==false) {
    		
    	CredentialDetails details=credential.getCurrentDetails();
    	if(details == null)
    		throw new NullPointerException("Credential details object is null");
    	CredentialDetails updatedDetails = credential.getCurrentDetails();
    	updatedDetails.setStartDate(getCurrentDate());
    	updatedDetails.setExternalID(credential.getExternalID());
    	m_existingDetailsClone.setEndDate(updatedDetails.getStartDate());
    	updatedDetails.setPreviousDetails(m_existingDetailsClone);
    			
    	getModCol().addModified( m_existingDetailsClone );
    }

    Такое впечатление что автор кода клинический идиот. Зачем так насиловать несчастные POJO Credential и CredentialDetailsю

    askell, 11 Ноября 2011

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

    +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
    public boolean alwaysAllowed(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.alwaysAllowed");
    	}
    	
    	public boolean remoteAccess(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.remote");
    	}
    	
    	public boolean canUse(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.use");
    	}
    	
    	public boolean canInvite(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.caninvite");
    	}
    	
    	public boolean infiniteHomes(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.infinite");
    	}
    	
    	public boolean noWarmup(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.nowarmup");
    	}
    	
    	public boolean noCooldown(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.nocooldown");
    	}
    	
    	public boolean freeSetHome(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.freesethome");
    	}
    	
    	public boolean freeHome(String player) {
    		return getServer().getPlayer(player).hasPermission("over9000homes.freehome");
    	}

    Всё тот же Bukkit проект.

    Uhehesh, 12 Октября 2011

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    String filterDescription = "";
    try {
    	filterDescription = wdContext.currentContextElement().getAttributeValue("table" + Level + "Description" + "filter").toString();
    } catch (Exception e) {
    	// TODO: handle exception
    }

    wdContext.currentContextElement().getAtt ributeValue("table" + Level + "Description" + "filter") возвращает значение атрибуты из контекста с типом Object. try в данном случае тут добавлен, чтобы не писать лишних проверок, если вернется null, а filterDescription так и остался пустой строкой.

    foGa, 03 Октября 2011

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