1. Список говнокодов пользователя someone

    Всего: 116

  2. Java / Говнокод #9462

    +112

    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
    public enum DataBits {
    	FIVE(SerialPort.DATABITS_5),
    	SIX(SerialPort.DATABITS_6),
    	SEVEN(SerialPort.DATABITS_7),
    	EIGHT(SerialPort.DATABITS_8);
    	
    	private final int value;
    	
    	private DataBits(final int value) {
    		this.value = value;
    	}
    	
    	public int getValue() {
    		return value;
    	}
    	
    	@Override
    	public String toString() {
    		return Integer.toString(value);
    	}
    }

    Завернули энум старого образца в нормальный.

    someone, 17 Февраля 2012

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

    +106

    1. 1
    for(int iyhx=0; iyhx<nLen; iyhx++)

    "А идите вы на iyhx."

    someone, 03 Февраля 2012

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

    +130

    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
    BOOL CMarkup::Search(CString OprName, CString strSQL, short nType)
    {
    
    ...
    	
    	sCommandLine = sPath.Left(nPos)+ _T("\\Getorder.exe search ")+OprName+_T(" ")+strSQL+_T(" ")+strType;
    	::wcscpy(cCommandLine, sCommandLine);
    
    	BOOL ret = CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
    	if (ret) {
    		CloseHandle(pi.hThread );						//Close the thread handle as soon as it is no longer needed.
    		WaitForSingleObject(pi.hProcess, INFINITE);		//Suspend our execution until the child has terminated.
    		GetExitCodeProcess(pi.hProcess ,&dwExitCode);	//The child process terminated;get its exit code.
    		//if(dwExitCode == STILL_ACTIVE) TerminateProcess(pi.hProcess, 0);
    		CloseHandle(pi.hProcess);						//Close the process handle as soon as it is no longer needed.
    	}
    
    	CString ss,s;
    	ss = _T("s.txt");
    
    	CStdioFile in;
    	if(!in.Open (sPath+_T("\\")+ss,CFile::modeRead | CFile::typeBinary))
    		return TRUE;
    
    	while(in.ReadString(s))
    	{
    		s.TrimLeft();
    		s.TrimRight();
    		if(s != _T("**********")) continue;
    
    		ORDERTYPE m_OrderData;
    
    		in.ReadString(s);
    		s.TrimLeft();
    		s.TrimRight();
    		m_OrderData.OprName = s;
    
    		in.ReadString(s);
    		s.TrimLeft();
    		s.TrimRight();
    		m_OrderData.Language =s;
    
    		in.ReadString(s);
    		s.TrimLeft();
    		s.TrimRight();
    		m_OrderData.OrderNo =s;
    
    ...
    
    	}
    
    	in.Close();
    	DeleteFile(sPath+_T("\\")+ss);

    Прислали исходники приложения на C++ с MFC. Там просто один сплошной ГК от начала и до конца, но это место просто убило.

    Задача - найти заказ в базе данных MSSQL по SQL-запросу. Для этого они запускают отдельное приложение .NET, которое подключается к базе и дампит запись в текстовый файл, а приложение C++ из него читает.

    someone, 25 Января 2012

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    final List<OrderSpecifier<?>> orderBy = ImmutableList.<OrderSpecifier<?>>of(
    		// Whoa! Sorting by four columns. We really are insane.
    		q.urgent.desc(),
    		q.queued.desc(),
    		q.receiver.asc(),
    		q.created.desc());

    Заказчик попросил.

    someone, 12 Декабря 2011

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

    +122

    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
    @SuppressWarnings("unused")
    // Sure it's used. By Guice. So stop complaining.
    protected ColQueryProvider() {
    	try {
    		// Exhibit one: ye olde dependency hell.
    		// We *should* be able to just use new EclipseCompiler(), but GWT complains
    		// in dev mode when ECJ is in the Eclipse classpath. So it's not.
    		// ECJ is still loaded by the servlet container, so this is not an issue in deployment.
    		final JavaCompiler compiler = (JavaCompiler)
    				Class.forName("org.eclipse.jdt.internal.compiler.tool.EclipseCompiler").newInstance();
    		
    		// Tweaked based on QueryEngine.DEFAULT
    		final DefaultEvaluatorFactory evaluatorFactory = new DefaultEvaluatorFactory(ColQueryTemplates.DEFAULT,
    				(URLClassLoader) DefaultEvaluatorFactory.class.getClassLoader(), compiler);
    		
    		queryEngine = new DefaultQueryEngine(evaluatorFactory);
    	} catch (final ClassNotFoundException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	} catch (final InstantiationException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	} catch (final IllegalAccessException e) {
    		throw new ProvisionException("Eclipse compiler cannot be loaded", e);
    	}
    }

    someone, 23 Ноября 2011

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

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // This is de facto a Map<Integer, Long> because SUM() returns longs, but
    // QueryDSL's type inference makes a fluke here and thinks sum() is an Integer.
    // So the return type is Map<Integer, Integer>. Aren't generics fun?
    final Map<Integer, ? extends Number> map =
    		dsl.from(q).where(q.department.eq(params.getDepartment()), q.quantity.ne(0),
    		q.action.in(UserAction.ORDER_ENGRAVE, UserAction.ORDER_STOCK_WASTAGE,
    				UserAction.ORDER_INVOICE, UserAction.ORDER_STOCK_ADJUSTMENT),
    		QueryDsl.subFrom(q2).where(q2.order.eq(q.order), q2.timestamp.goe(interval.getA()),
    				q2.timestamp.lt(interval.getB()),
    				q2.action.in(UserAction.ORDER_ENGRAVE, UserAction.ORDER_STOCK_WASTAGE,
    						UserAction.ORDER_INVOICE, UserAction.ORDER_STOCK_ADJUSTMENT)).exists())
    	.groupBy(q.order.id).having(q.quantity.sum().gt(0)).map(q.order.id, q.quantity.sum());

    someone, 15 Ноября 2011

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