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

    +76

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    private void spreadBullets() {
            bulletItemsWip.clear();
            for (AbstractInventoryItem item : inventoryItemsSortedByValue) {
                if (item instanceof RangeBulletItem) {
                    bulletItemsWip.add((RangeBulletItem) item);
                }
            }
    
            rangeUnitsQueueWip.clear();
            for (Unit unit : areaObject.getUnits()) {
                if (unit.getSpecialization().equals(Unit.UnitSpecialization.RANGE)) {
                    rangeUnitsQueueWip.add(unit);
                }
            }
    
            while (rangeUnitsQueueWip.size > 0 && bulletItemsWip.size > 0) {
                Iterator<Unit> unitsIterator = rangeUnitsQueueWip.iterator();
                while (unitsIterator.hasNext()) {
                    // find suitable bullets or remove unit from queue
                    Unit rangeUnit = unitsIterator.next();
    
                    RangeBulletItem foundBulletItemInInventoryForUnit = searchBulletFor(rangeUnit);
                    if (foundBulletItemInInventoryForUnit == null) {
                        // remove unit from bullets queue
                        unitsIterator.remove();
                    } else {
                        //  bullet was found
                        RangeBulletItem unitBulletsItem = rangeUnit.getEquipment().getRangeBulletsItem();
                        if (unitBulletsItem == null) {
                            unitBulletsItem = foundBulletItemInInventoryForUnit.split(1);
                            rangeUnit.getEquipment().setRangeBulletsItem(unitBulletsItem);
                        } else {
                            if (unitBulletsItem.getClass().equals(foundBulletItemInInventoryForUnit.getClass())){
                                if (!unitBulletsItem.isFull()) {
                                    foundBulletItemInInventoryForUnit.moveQuantity(1, unitBulletsItem);
                                } 
                            } else {
                                rangeUnit.getEquipment().dropRangeBullets();
                                unitBulletsItem = foundBulletItemInInventoryForUnit.split(1);
                                rangeUnit.getEquipment().setRangeBulletsItem(unitBulletsItem);
                            }
                        }
    
                        if (foundBulletItemInInventoryForUnit.isEmpty()) {
                            // remove item from inventory
                            bulletItemsWip.removeValue(foundBulletItemInInventoryForUnit, true);
                            remove(foundBulletItemInInventoryForUnit);
                        }
    
                        if (unitBulletsItem.isFull()) {
                            // remove unit from bullets queue
                            unitsIterator.remove();
                        }
    
                        if (bulletItemsWip.size == 0) {
                            // stop spreading
                            break;
                        }
                    }
                }
            }
    
            // sync quantities to inventory
            for (AbstractInventoryItem item : bulletItemsWip) {
                getItem(item.getClass()).setQuantity(item.getQuantity());
            }
        }

    Раздать пули отряду...

    dmli, 01 Марта 2015

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

    +81

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class GetDataFromMySQL extends AsyncTask<String, String, String> {
    
     protected String doInBackground(String[] params) {
    
         runOnUiThread(new Runnable() {
            public void run() {
            ...
            ... 
          //абсолютно вся логика здесь.
            }

    Мастер многопоточного ПОГРОМмирования под Ондроид...

    argamidon, 01 Марта 2015

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

    +84

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    int size = delete.count();
    for (int i = 1; i < (size + 1); i++) {
       deleteDelegation(i);
       i--;
       if (i == 0) break;
    }

    Задание: надо удалить все делегированные права.

    shainek, 25 Февраля 2015

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

    +80

    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
    public class лаба22 {
    	int i;
    	лаба22(int k){
    	
    		i=k;}
    	
    	int [] a = new int [i];
    	
    	void длина(){
    		System.out.println(a.length);
    	}
    	public static void main(String[] args) {
    		лаба22 s = new лаба22(5);
    		s.длина();
    	}
    }

    Студеньтики... тупоголовые как и их преподы

    argamidon, 24 Февраля 2015

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

    +77

    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
    public static void main(String[] args) {
            testIndiaLazy();
        }
    
        private static void testIndiaLazy() {
            LazyInstantiator lazyInstantiator = new LazyInstantiator();
            lazyInstantiator.getInstance();
            lazyInstantiator.getInstance();
        }
    
        public static class LazyInstantiator {
            private Object instance;
    
            public Object getInstance() {
                System.out.println("getInstance");
                if (instance != null || create());
                return instance;
            }
    
            private boolean create() {
                System.out.println("create");
                instance = new Object();
                return true;
            }
        }

    Out:
    getInstance
    create
    getInstance

    dmli, 24 Февраля 2015

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

    +102

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public class Permuter                                {
        private static void permute(int n, char[] a)     {
            if (n == 0)                                  {
                System.out.println(String.valueOf(a))    ;}
            else                                         {
                for (int i = 0; i <= n; i++)             {
                    permute(n-1, a)                      ;
                    swap(a, n % 2 == 0 ? i : 0, n)       ;}}}
        private static void swap(char[] a, int i, int j) {
            char saved = a[i]                            ;
            a[i] = a[j]                                  ;
            a[j] = saved                                 ;}}

    "I finally figured out how to get those pesky semicolons and curly braces out of my Java code"

    Xom94ok, 22 Февраля 2015

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

    +85

    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
    int[] pirates = {
                    R.drawable.final_0001, R.drawable.final_0002, R.drawable.final_0003, R.drawable.final_0004,
                    R.drawable.final_0005, R.drawable.final_0006, R.drawable.final_0007, R.drawable.final_0008,
                    R.drawable.final_0009, R.drawable.final_0010, R.drawable.final_0011, R.drawable.final_0012,
                    R.drawable.final_0013, R.drawable.final_0014, R.drawable.final_0015, R.drawable.final_0016,
                    R.drawable.final_0017, R.drawable.final_0018, R.drawable.final_0019, R.drawable.final_0020,
                    R.drawable.final_0021, R.drawable.final_0022, R.drawable.final_0023, R.drawable.final_0024,
                    R.drawable.final_0025, R.drawable.final_0026, R.drawable.final_0027, R.drawable.final_0028,
                    R.drawable.final_0029, R.drawable.final_0030, R.drawable.final_0031, R.drawable.final_0032,
                    R.drawable.final_0033, R.drawable.final_0034, R.drawable.final_0035, R.drawable.final_0036,
                    R.drawable.final_0037, R.drawable.final_0038, R.drawable.final_0039, R.drawable.final_0040,
                    R.drawable.final_0041, R.drawable.final_0042, R.drawable.final_0043, R.drawable.final_0044,
                    R.drawable.final_0045, R.drawable.final_0046, R.drawable.final_0047, R.drawable.final_0048,
                    R.drawable.final_0049, R.drawable.final_0050, R.drawable.final_0051, R.drawable.final_0052,
                    R.drawable.final_0053, R.drawable.final_0054, R.drawable.final_0065, R.drawable.final_0056,
                    R.drawable.final_0057, R.drawable.final_0058, R.drawable.final_0059, R.drawable.final_0060,
                    R.drawable.final_0061, R.drawable.final_0062, R.drawable.final_0063, R.drawable.final_0064,
                    R.drawable.final_0065, R.drawable.final_0066, R.drawable.final_0067, R.drawable.final_0068,
                    R.drawable.final_0069, R.drawable.final_0070, R.drawable.final_0071, R.drawable.final_0072,
                    R.drawable.final_0073, R.drawable.final_0074, R.drawable.final_0075, R.drawable.final_0076,
                    R.drawable.final_0077, R.drawable.final_0078, R.drawable.final_0079, R.drawable.final_0080,
                    R.drawable.final_0081, R.drawable.final_0082, R.drawable.final_0083, R.drawable.final_0084,
                    R.drawable.final_0085, R.drawable.final_0086, R.drawable.final_0087, R.drawable.final_0088,
                    R.drawable.final_0089, R.drawable.final_0090, R.drawable.final_0091, R.drawable.final_0092,
                    R.drawable.final_0093, R.drawable.final_0094, R.drawable.final_0095, R.drawable.final_0096,
                    R.drawable.final_0097, R.drawable.final_0098, R.drawable.final_0099, R.drawable.final_0100,
                    R.drawable.final_0101, R.drawable.final_0102, R.drawable.final_0103, R.drawable.final_0104,
                    R.drawable.final_0105, R.drawable.final_0106, R.drawable.final_0107, R.drawable.final_0108,
                    R.drawable.final_0109, R.drawable.final_0110, R.drawable.final_0111, R.drawable.final_0112,
                    R.drawable.final_0113, R.drawable.final_0114, R.drawable.final_0115, R.drawable.final_0116,
                    R.drawable.final_0117, R.drawable.final_0118, R.drawable.final_0119, R.drawable.final_0120
            };

    Погромист на Ондроид наговнокодил это...

    argamidon, 18 Февраля 2015

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    @Override
    public void setAdapter(ListAdapter adapter) {
    	if (mAdapter != null) {
    		mAdapter.unregisterDataSetObserver(mDataObserver);
    	}
    	mAdapter = adapter;
    	mAdapter.registerDataSetObserver(mDataObserver);
    }

    Дебажу говнокод доставшийся в наследство и получаю NullPointerException

    Smekalisty, 18 Февраля 2015

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    /**
     * singletone staff:
     */
    private static LogisticsAppContext local;

    Однотонный посох?

    someone, 16 Февраля 2015

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

    +76

    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
    private List< String > extractMetaDataLines()
    {
       final ArrayList< String > metaDataLines = new ArrayList< String >();
       int currentLineIndex = 0;
       int start = 0;
       int end = 0;
    
       for ( final String line : getLines() )
       {
          if ( line.contains( METADATA_TAG ) )
          {
             if ( line.contains( "</" ) )
             {
                end = currentLineIndex
                      - ( getLines().get( currentLineIndex - 1 ).contains( "]]>" ) ? 1
                                                                                  : 0 );
                if ( line.contains( "<fx" )
                      || line.contains( "<mx" ) )
                {
                   start = end;
                }
                break;
             }
             if ( line.contains( "<" ) )
             {
                start = currentLineIndex
                      + ( getLines().get( currentLineIndex + 1 ).contains( "CDATA[" ) ? 2
                                                                                     : 1 );
             }
          }
          currentLineIndex++;
       }
       metaDataLines.addAll( getLines().subList( start,
                                                 end ) );
       return metaDataLines;
    }

    build.xml:413: java.lang.IllegalArgumentException: fromIndex(12) > toIndex(11)
    at java.util.ArrayList.subListRangeCheck(ArrayList.java:964)
    at java.util.ArrayList.subList(ArrayList.java:954)
    at com.adobe.ac.pmd.files.impl.MxmlFile.extractMetaDataLines(MxmlFile.java:262)
    at com.adobe.ac.pmd.files.impl.MxmlFile.copyScriptLinesKeepingOriginalLineIndices(MxmlFile.java:191)

    Адоб, как обычно, порадовал. (Это типа линт, который должен проверять мелкие ошибки / стиль). В проекте примерно 300 файлво в которых есть тег "метадата", пойди пойми на каком оно валится... Самому собрать это говно - нереально сложно изза каких-то уебищных зависимостей, конфликтов версий мейвена и т.п.

    wvxvw, 15 Февраля 2015

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