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

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

    +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
    static class CheckBoxCellRenderer extends JCheckBox implements ListCellRenderer {
    
        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            if (value instanceof CheckBoxListElement) {
                CheckBoxListElement cblel = (CheckBoxListElement) value;
                if (isSelected) {
                    setBackground(list.getSelectionBackground());
                    setForeground(list.getSelectionForeground());
                }
                else {
                    setBackground(list.getBackground());
                    setForeground(list.getForeground());
                }
                setSelected(cblel.isSelected());
                setText(cblel.getText());
                return this;
            }
            else {
                throw new RuntimeException();
            }
        }
            
    }

    Модель просто не должна быть другой...

    dwinner, 28 Сентября 2011

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

    +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
    final QOrder qSub = new QOrder("qSub");
    final Predicate[] filters = getFilters(qSub, null, null);
    		
    if (filters.length > 0) {
    	// conditions.add(Arrays.asList(filters));   // Do not do this. 
    		
    	// The subquery is here so that MySQL doesn't use the wrong index for
    	// ORDER BY... LIMIT if we directly add the filter by custid/custdept
    	// to the list of filters, which will make the search very slow.
    	// Well, perhaps an ugly workaround, and we might want to adjust
    	// the custid/custdept index in the future... somehow.
    	conditions.add(q.id.in(QueryDsl.subFrom(qSub).where(filters).list(qSub.id)));
    }

    Обход косяков конкретной СУБД на уровне ORM. Абстракция, что и говорить.

    lucidfox, 27 Сентября 2011

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

    +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
    if(block == Block.blockDiamond || block == Block.oreDiamond)
            {
                return toolMaterial.getHarvestLevel() >= 2;
            }
            if(block == Block.blockGold || block == Block.oreGold)
            {
                return toolMaterial.getHarvestLevel() >= 2;
            }
            if(block == Block.blockSteel || block == Block.oreIron)
            {
                return toolMaterial.getHarvestLevel() >= 1;
            }
            if(block == Block.blockLapis || block == Block.oreLapis)
            {
                return toolMaterial.getHarvestLevel() >= 1;
            }
            if(block == Block.oreRedstone || block == Block.oreRedstoneGlowing)
            {
                return toolMaterial.getHarvestLevel() >= 2;
            }

    Из сорцов майнсрафта.
    Нахрена делать из двух ifов пять?!

    RaZeR, 19 Августа 2011

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

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int[] indexes = list.getSelectedIndices();
            if (indexes.length == 0) {
                indexes = getAllIndexes();
            }
            if (indexes.length == 0) {
                return false;
            }

    индуссы атакуют

    Dexter, 15 Августа 2011

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

    +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
    elem = request.getParameter("max_price");
        if ((elem != null) && (elem.trim().length() != 0)) {
          filter.setMax_price_id(elem);
          switch (Integer.parseInt(elem))
          {
          case 1:
            filter.setMax_price("price <= 10000");
            break;
          case 2:
            filter.setMax_price("price > 10000 and price <= 20000");
            break;
          case 3:
            filter.setMax_price("price > 20000 and price <= 30000");
            break;
          case 4:
            filter.setMax_price("price > 30000 and price <= 40000");
            break;
          case 5:
            filter.setMax_price("price > 50000");
          }
        }

    получение диапазона цен

    kakon, 07 Июня 2011

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

    +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
    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
    68. 68
    69. 69
    /**
    * Простейший калькулятор
    * Ввод чисел производиться с клавиатуры , присутствуют проверки на
    * попытку деления на 0 и пустые значения чисел. Также присутствует
    * исключение на тот случай , когда пользователь ввёл вместо цифр буквы.
    * @author Anonym
    * @version 0.1
    */
    import java.io.*;
    
    public class Calculator {
    	public static void main(String args[]) throws java.io.IOException {
    	double z,x1,y1;
    	char read;
    	String x,y;
    	BufferedReader x3,y3;
    	// Вводим значения переменных
    	System.out.println("Write x and y by Enter");
    	x3 = new BufferedReader(new InputStreamReader(System.in));
    	y3 = new BufferedReader(new InputStreamReader(System.in));
    	x = x3.readLine();
    	if (x.equalsIgnoreCase("")) {
    	System.out.println("Empty value!");
    	}
    	y = y3.readLine();
    	if (y.equalsIgnoreCase("")) {
    	System.out.println("Empty value!");
    	}
    	if (x.equalsIgnoreCase("") && y.equalsIgnoreCase("")) {
    	System.out.println("Program Terminated!");
    	System.exit(0);
    	}
    	try{
    	x1 = Double.parseDouble(x);
    	y1 = Double.parseDouble(y);
    	// Выводим переменные на консоль
    	System.out.println("x="+x1+'\n'+"y="+y1);
    	// Выводим действия на консоль
    	System.out.println("Choose one:\n1.+\n2.-\n3.*\n4./");
    	read = (char) System.in.read();
    	switch(read){
    		case '1':
    		z =x1+y1;
    		System.out.println("x+y="+z);
    		break;
    		case '2':
    		z =x1-y1;
    		System.out.println("x-y="+z);
    		break;
    		case '3':
    		z =x1*y1;
    		System.out.println("x*y="+z);
    		break;
    		case '4':
    		if(y1 == 0) {
    		System.out.println("Can't divide by 0");
    		} else {
    		z =x1/y1;
    		System.out.println("x/y="+z);
    		}
    		break;
    		default :
    		System.out.println("You write wrong number of operation!");
    		}
    		} catch(NumberFormatException exc) {
    			System.out.println("Wrong Number!");
    		}
    	}
    }

    Akira, 25 Мая 2011

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

    +73

    1. 1
    2. 2
    if ((float)TF1.getText()>(float)(TF2.getText()){
    }

    Вот так вот приводят типы:)
    http://www.sql.ru/forum/actualthread.aspx?bid=38&tid=551373&hl=

    javaman, 18 Апреля 2011

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

    +73

    1. 1
    NumberUtils.notNull(null)

    люблю такие конструкции =)

    tir, 01 Февраля 2011

    Комментарии (4)
  10. Куча / Говнокод #5076

    +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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <content Name="">
    	   <item Border="0" Width="450" Height="415" ><![CDATA[<font color="#ff900c" size="0"><b></b></font><br><br><font color="#FFFFFF" size="12">Наименование					   		     Ед.изм.   Цена,руб.
    Пошив тюля								м.п.		 от 95
    Пошив портьера							м.п. 		от 145
    Портьера на подкладе						м.п. 		от 155
    Епископский рукав							м.п. 		от 170
    Изготовление и притачивание купона			м.п. 		от 150
    Изг. и притачивание фигурного купона			м.п. 		от 100
    Пошив японских штор						м2.  		от 655
    Пошив римских штор						м2.  		от 555
    Пошив ламбрикена мягкого					шт.  		от 1455
    Пошив ламбрикена жесткого (бандо)			м.п. 		от 655
    Пошив ламбрекена комбинированного 			м.п.	 	от 955
    Пошив покрывала (пледа) 400смх200см 		шт. 		от 2955	
    Пошив чехла на стул						шт. 		от 655
    Пошив декоративной наволочки 50смх50см 		шт. 		от 305
    Подушка простая 50смх50см					шт. 		от 135
     	 	 
    Сваги	 	 
    Открытые (с верхним провисом)	 	 
    ширина по карнизу  1,0 м.					шт. 		от 320
    ширина по карнизу до 1,5 м.					шт. 		от 350
    ширина по карнизу до 2,0 м.					шт. 		от 450
    закрытые (без верхнего сайта)	 	 
    ширина по карнизу до 1,0 м.					шт. 		от 200
    ширина по карнизу до 1,5 м.					шт. 		от 250
    ширина по карнизу до 2,0 м.					шт. 		от 450
     	 	                                            	
    Галстуки	 	 
    Высота до 1,0 м.	 	 
    ширина по карнизу до 30 см.					шт. 		от 480
    ширина по карнизу до 40 см.					шт. 		от 550
    ширина по карнизу до 50 см.					шт. 		от 600
    Высота до 1,5 м.	 	 
    ширина по карнизу до 30 см.					шт. 		от 500
    ширина по карнизу до 40 см.					шт. 		от 550
    ширина по карнизу до 50 см.					шт. 		от 640
    Высота до 2,0 м.	 	 
    ширина по карнизу до 30 см.					шт. 		от 550
    ширина по карнизу до 40 см.					шт. 		от 650
    ширина по карнизу до 50 см.					шт. 		от 760
    ]]></item>
    </content>

    XML он такой, да. Работа одного фрилансера.

    MaxSvargal, 27 Декабря 2010

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

    +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
    public abstract class EntityCRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter, DaoObject extends GenericDao<DataObject, DataKey>>
    		extends EntityManager<DaoObject> implements CRUDManager<DataObject, DataKey, Filter> {
    ...
    }
    
    public interface CRUDManager<DataObject extends Serializable, DataKey extends Serializable, Filter>{
    ...
    }
    
    public abstract class EntityManager<DaoObject extends GenericDao> extends Manager{
    ...
    }

    Во как!!!

    KILA, 23 Декабря 2010

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