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

    +75

    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
    db.insertInto(VISIBILITY_CONSTRAINT,
        VISIBILITY_CONSTRAINT.UUID,
        VISIBILITY_CONSTRAINT.VERSION,
        VISIBILITY_CONSTRAINT.FIRST_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.MIDDLE_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.LAST_NAME_HIDDEN,
        VISIBILITY_CONSTRAINT.BIRTHDAY_HIDDEN,
        VISIBILITY_CONSTRAINT.GENDER_HIDDEN,
        VISIBILITY_CONSTRAINT.EMAIL_HIDDEN,
        VISIBILITY_CONSTRAINT.COUNTRY_HIDDEN,
        VISIBILITY_CONSTRAINT.REGION_HIDDEN,
        VISIBILITY_CONSTRAINT.CITY_HIDDEN,
        VISIBILITY_CONSTRAINT.STREET_HIDDEN,
        VISIBILITY_CONSTRAINT.ZIP_CODE_HIDDEN,
        VISIBILITY_CONSTRAINT.PHONE_NUMBER_HIDDEN,
        VISIBILITY_CONSTRAINT.HOME_PAGE_HIDDEN,
        VISIBILITY_CONSTRAINT.HOBBIES_HIDDEN
    ).values(
        visibilityConstraintId,
        UInteger.valueOf(0),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        0.byteValue(),
        '0', // shit happens
        0.byteValue(),
        0.byteValue()
    ).execute()

    Пока писал тесты к говнопроекту, нашел PHONE_NUMBER_HIDDEN VARCHAR(64) NOT NULL. Hibernate по умолчанию ставил туда null. Там еще много всего, но остальное сюда не уместится.

    scriptin, 04 Сентября 2014

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ( !( new File( dataFolder + "/Screenshoots" ).exists()
    	    && new File( dataFolder + "/Screenshoots" ).isDirectory() ) )
    		new File( dataFolder + "/Screenshoots" ).mkdir();
    	    
    if ( !( new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).exists()
    	    && new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).isDirectory() ) )
    		new File( dataFolder + "/Screenshoots/" + step.test.hashCode() ).mkdir();

    sakkath, 03 Сентября 2014

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

    +78

    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
    /*org.eclipse.swt.internal.gtk.OS*/
    
    	public static final boolean IsAIX, IsSunOS, IsLinux, IsHPUX;
    	static {
    		
    		/* Initialize the OS flags and locale constants */
    		String osName = System.getProperty ("os.name");
    		boolean isAIX = false, isSunOS = false, isLinux = false, isHPUX = false;
    		if (osName.equals ("Linux")) isLinux = true;
    		if (osName.equals ("AIX")) isAIX = true;
    		if (osName.equals ("Solaris")) isSunOS = true;
    		if (osName.equals ("SunOS")) isSunOS = true;
    		if (osName.equals ("HP-UX")) isHPUX = true;
    		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsHPUX = isHPUX;
    	}

    PHP и даты Жава и Оси

    myaut, 31 Августа 2014

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

    +144

    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
    public static void main(String[] args) {
        int temp = 0;
        out: // label
        for (int i = 0; i < 3; ++i) {
            System.out.println("I am here");
            for (int j = 0; j < 20; ++j) {
               if(temp==0) {
                   System.out.println("j: " + j);
                    if (j == 1) {
                        temp = j;
                        continue out; // goto label "out"
                    }
                }
            }
        }
        System.out.println("temp = " + temp);
    }

    Оригинал: http://stackoverflow.com/questions/2545103/is-there-a-goto-statement-in-java

    Помнится, кто-то недавно упомянул именнованные циклы.
    Вот они и нашлись.

    Получается, что по "continue out" мы пойдём на следующую итерацию внешнего цикла, а при "break out", выйдем из внешнего цикла.
    Странно, что M$ не утянули себе такую фичу...

    TauSigma, 26 Августа 2014

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private Boolean active = false;
    ...
    synchronized (active) {
    ...
    }

    Чудо синхронизации. Блокируется раз и навсегда.

    borka, 25 Августа 2014

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

    +121

    1. 1
    2. 2
    3. 3
    long longVariable = <...>;
    ...
    double doubleVariable = new Double(longVariable).doubleValue();

    Вот так делается по ВСЕМУ проекту, когда нужно перевести long в double.

    someone, 25 Августа 2014

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

    +78

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public class ComponentProvider implements ObjectProvider {
    	@SuppressWarnings("unchecked")
    	@Override
    	public <T> T provide(final Class<T> objectType, final AnnotationProvider annotationProvider,
    		final ObjectLocator locator) {
    		return objectType.getName().startsWith(
    			locator.getService(SymbolSource.class).valueForSymbol(FXSymbols.FX_PACKAGE)) ? locator.getService(
    			ComponentLocator.class).isComponentValid(objectType.getName()) ? (T) locator.getService(
    			ComponentInstantiatorSource.class).newInstance(objectType.getName()) : null : null;
    	}
    }

    и в конце грустное : null : null;

    Lure Of Chaos, 21 Августа 2014

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

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    protected boolean matches(final PlasticField field) {
    		try {
    			return (this.type() == null) || this.type().getName().equals(field.getTypeName()) ? true : Class.forName(
    				this.type().getName()).isAssignableFrom(Class.forName(field.getTypeName()));
    		} catch (final ClassNotFoundException e) {
    			this.logger.error(e.getMessage(), e);
    		}
    		return false;
    	}

    DRY in action

    такая вот говнопластмасса

    Lure Of Chaos, 20 Августа 2014

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

    +118

    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
    if (operator instanceof TUOperatorStacker) {
    	dump.put("operator_type", "TUOperatorStacker");
    } else if (operator instanceof TUOperatorDestacker) {
    	dump.put("operator_type", "TUOperatorDestacker");
    } else if (operator instanceof TUOperatorTargetedStacker) {
    	dump.put("operator_type", "TUOperatorTargetedStacker");
    } else if (operator instanceof TUOperatorTargetedDestacker) {
    	dump.put("operator_type", "TUOperatorTargetedDestacker");
    }
    
    
    
    <...>
    
    
    
    String typeString = (String) dump.get("operator_type");
    TUOperator operator = null;
    
    if (typeString.equals("TUOperatorStacker")) {
    	operator = new TUOperatorStacker(simElement);
    } else if (typeString.equals("TUOperatorDestacker")) {
    	operator = new TUOperatorDestacker(simElement);
    } else if (typeString.equals("TUOperatorTargetedStacker")) {
    	operator = new TUOperatorTargetedStacker(simElement);
    } else if (typeString.equals("TUOperatorTargetedDestacker")) {
    	operator = new TUOperatorTargetedDestacker(simElement);
    }

    someone, 18 Августа 2014

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

    +70

    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
    *  Calculates the minimum number of bits necessary to represent the given number.  The
         *      number should be given in its unsigned form with the starting bits equal to 1 if it is
         *      signed.  Repeatedly compares number to another unsigned int called x.
         *      x is initialized to 1.  The value of x is shifted left i times until x is greater
         *      than number.  Now i is equal to the number of bits the UNSIGNED value of number needs.
         *      The signed value will need one more bit for the sign so i+1 is returned if the number
         *      is signed, and i is returned if the number is unsigned.
     * @param number the number to compute the size of
     * @param bits 1 if number is signed, 0 if unsigned
     */
        public static int minBits(int number, int bits)
        {
        int val = 1;
        for (int x = 1; val <= number && !(bits > 32); x <<= 1) 
        {
            val = val | x;
            bits++;
        }
    
        if (bits > 32)
                {
                        assert false : ("minBits " + bits + " must not exceed 32");
                }
        return bits;
    }

    Адоб, как обычно, порадовал (условие окончания цикла).
    [color=blue]https://git-wip-us.apache.org/repos/asf/flex-sdk/repo?p=flex-sdk.git;a=blob;f=modules/swfutils/src/java/flash/swf/SwfEncoder.java;h=03a100dda92989d537b00b 96033d614c73c47801;hb=HEAD#l320[/code]

    wvxvw, 17 Августа 2014

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