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

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

    +116.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    string text = MyReader[2].ToString();
        tt = new TableRow();
        string css_clss = (text == "ИТОГО") ? "gr1" : "gr2";
        int lvl = Convert.ToInt32(MyReader[1].ToString());     
        tt.CssClass = css_clss;

    ASP.NET
    //Это просто в ТОП 1. Выхватывать уровень группировки SQL по слову ИТОГО, учитывая что слово Итого может изменится и процедура возвращает уровень. lvl = 5 это ИТОГОВЫЙ уровень

    otvet_popravkodon, 13 Апреля 2010

    Комментарии (3)
  3. SQL / Говнокод #2983

    −869.4

    1. 1
    select ST1,lower(naim||' ( '||nam||' )') from ST_REAL, (select nvl(d.k_dor, g.k_admi+200) kod, decode(:lng,'uk',n_strnus/*ua_country*/,'ru',N_Strnr/*ru*_country*/) nam from (select relsa.k_admi,N_Strnr,n_strnus from d_adm@psv_nsi relsa, d_strn@psv_nsi strana/*, arm_spr.gosdor@uzc1 doroga*/ where relsa.k_strn=strana.k_strn)

    ramzes2, 10 Апреля 2010

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

    +144.8

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    bool PathProcessor::Process(PPProcess *pProcess)
    {
    	std::vector<int> viRoute; int nRouteCount; bool bRetVal = false;
    	for (int i = 0; i < m_viExcludeStop.size(); i++){
    		if (m_viExcludeStop[i] == pProcess->nStartStopId) return false;
    	}
    	int bbb = 0;
    	if (pProcess->nRouteId < 0){
    		viRoute = GetRoutesID(pProcess->nStartStopId);
    		nRouteCount = viRoute.size();
    		if (nRouteCount <= 0) return false;
    	}
    	else{
    		viRoute = GetRoutesID(pProcess->nStartStopId, pProcess->nRouteId);
    		nRouteCount = viRoute.size();
    		if (nRouteCount <= 0) return false;
    		nRouteCount = 1;
    	}
    	for (int i = 0; i < nRouteCount; i++){
    		RouteDataInfo rdCur = GetRoute(viRoute[i]);
    		pProcess->nRoutePartId = rdCur.nId;
    		PPResult *pRes;
    		bool bCurRetVal = false;
    		if (pProcess->bIsFirstStop == true){
    			pRes = new PPResult();
    			pRes->bFinished = false;
    			pRes->nFirstStopId = pProcess->nFirstId;
    			pRes->nLastStopId = -1;
    			pRes->nRouteId = rdCur.nRouteId;
    			m_viResult.push_back(pRes);
    		}
    		else pRes = pProcess->pLastResult;
    		if (pRes != NULL){
    			PartInfo piTemp(rdCur.nId, rdCur.nLastStopId);
    			pRes->viPartsId.push_back(piTemp);
    		}
    		if (IsEndStop(rdCur.nLastStopId) == true){
    			if (pRes != NULL){
    				pRes->bFinished = true;
    				pRes->nLastStopId = rdCur.nLastStopId;
    			}
    			bRetVal = true;	bCurRetVal = true;
    		}
    		if ((pProcess->IsStopExist(rdCur.nLastStopId) == false) && (bCurRetVal == false)){
    			if ((pProcess->nCurStep < m_nMaxStep) && (pProcess->nRouteId >= 0)){
    				PPProcess ppProc;
    				ppProc.nCurStep = pProcess->nCurStep;
    				ppProc.nRouteId = pProcess->nRouteId;
    				ppProc.nStartStopId = rdCur.nLastStopId;
    				ppProc.pPrevProc = pProcess;
    				ppProc.bIsFirstStop = false;
    				ppProc.nFirstId = pProcess->nFirstId;
    				if (pProcess->pLastResult == NULL) ppProc.pLastResult = pRes;
    				else ppProc.pLastResult = pProcess->pLastResult;
    				if (Process(&ppProc) == true) bRetVal = true;
    			}
    			else if (pProcess->nCurStep < m_nMaxStep){
    				PPProcess ppProc;
    				ppProc.nCurStep = pProcess->nCurStep;
    				ppProc.nRouteId = rdCur.nRouteId;
    				ppProc.nStartStopId = rdCur.nLastStopId;
    				ppProc.pPrevProc = pProcess;
    				ppProc.bIsFirstStop = false;
    				ppProc.nFirstId = pProcess->nFirstId;
    				if (pProcess->pLastResult == NULL) ppProc.pLastResult = pRes;
    				else ppProc.pLastResult = pProcess->pLastResult;
    				if (Process(&ppProc) == true) bRetVal = true;
    			}
    			if (pProcess->nCurStep+1 < m_nMaxStep){
    				PPProcess ppProc2;
    				ppProc2.nCurStep = pProcess->nCurStep+1;
    				ppProc2.nRouteId = -1;
    				ppProc2.nStartStopId = rdCur.nLastStopId;
    				ppProc2.pPrevProc = pProcess;
    				ppProc2.bIsFirstStop = true;
    				ppProc2.nFirstId = rdCur.nLastStopId;
    				ppProc2.pLastResult = NULL;
    				if (Process(&ppProc2) == true){
    					PPResult *pRes2;
    					pRes2 = new PPResult();
    					pRes2->bFinished = true;
    					pRes2->nFirstStopId = pRes->nFirstStopId;
    					pRes2->nLastStopId = rdCur.nLastStopId;
    					pRes2->nRouteId = pRes->nRouteId;
    					PPProcess *pProc = pProcess;
    					while (pProc != NULL){
    						PartInfo piTemp(pProc->nRoutePartId, pProc->nStartStopId);
    						pRes2->viPartsId.push_back(piTemp);
    						pProc = pProc->pPrevProc;
    					}
    					m_viResult.push_back(pRes2); bRetVal = true;
    				}
    			}
    		}
    	}
    	if ((bRetVal == false) && (pProcess->nRouteId < 0))
    		m_viExcludeStop.push_back(pProcess->nStartStopId);
    	return bRetVal;
    }

    Когда-то давно писал алгоритм поиска маршрутов, теперь удевляюсь как это все работает да еще и не виснет

    Snake2101, 09 Апреля 2010

    Комментарии (3)
  5. PHP / Говнокод #2932

    +166.2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?
    $fileSelect = array();
    $sql  = 'SELECT * FROM bd_file';
    $stmt = db_prepare($sql, $file); $res  = db_query($stmt);
    while($row = db_fetch_row(res))
    {
    	if (!is_file(filefolder.'/'.$row[название_файла]))) {
    		$fileSelect[$file] = $file;
    	}
    }
    unset($fileSelect);
    ?>

    В добавок к #2929.
    Этим образом идет проверка существование документов в панели администратора

    MoLe-X, 05 Апреля 2010

    Комментарии (3)
  6. C# / Говнокод #2921

    +143.8

    1. 1
    private const long magic = 0x6567617355444343L;

    Магия.......

    unreal, 02 Апреля 2010

    Комментарии (3)
  7. C# / Говнокод #2919

    +117.4

    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
    ....
    tr = new TableRow();
                tc = new TableCell();
                tr.Cells.Add(tc);
                tc = new TableCell();
                tr.Cells.Add(tc);
                tc = new TableCell();
                tr.Cells.Add(tc);
                tc = new TableCell();
                tr.Cells.Add(tc);
                tc = new TableCell();
                tc.HorizontalAlign = HorizontalAlign.Right;
                tr.Cells.Add(tc);
    
                mf_TableMF2.Rows.Add(tr);

    заполняем таблицу пустыми ячейками

    alex_donetsk, 02 Апреля 2010

    Комментарии (3)
  8. SQL / Говнокод #2902

    −873.6

    1. 1
    2. 2
    declare @FromDate datetime, @ToDate datetime
    set @FromDate =  convert(char(10),dateadd(dd,-1,getdate()),20)

    synapse, 31 Марта 2010

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

    +167

    1. 1
    2. 2
    $is_alias=substr($_SERVER[SCRIPT_FILENAME],-strlen($_SERVER[SCRIPT_NAME])) != $_SERVER[SCRIPT_NAME] ? true : false;
    define('HOSTROOT',($is_alias ? $root_dir : realpath(substr($_SERVER[SCRIPT_FILENAME],0,-strlen($_SERVER[SCRIPT_NAME])))));

    Определяем путь до папки со скриптом. (c) RapidGet

    dmOx, 28 Марта 2010

    Комментарии (3)
  10. PHP / Говнокод #2872

    +158.6

    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
    $query = "SELECT * FROM `HTML_ocHoBa`";
    $res = mysql_query($query);
    while($row = mysql_fetch_array($res)){
     $HTML_ocHoBa_MetaAuthor = $row['Meta_Author'];
     $HTML_ocHoBa_MetaKeywords = $row['Meta_Keywords'];
     $HTML_ocHoBa_Title = $row['Title'];
     $HTML_ocHoBa_CSSurl = $row['CSS_url'];
     $HTML_ocHoBa_CSS = $row['CSS'];
     $HTML_ocHoBa_ScriptUrl = $row['Script_url'];
     $HTML_ocHoBa_Script = $row['Script'];
    }
    echo <<<HD
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
    <HTML>
     <Head>  
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="author" content="$HTML_ocHoBa_MetaAuthor">
      <meta name="keywords" content="$HTML_ocHoBa_MetaKeywords">
      <title>$HTML_ocHoBa_Title</title>
      <link rel="stylesheet" type="text/css" href="$HTML_ocHoBa_CSSurl">
      <style type="text/css"><!--
    $HTML_ocHoBa_CSS
      --></style>
      <script type="text/javascript" language="javascript" src="$HTML_ocHoBa_ScriptUrl"></script>
      <script type="text/javascript" language="javascript"><!--
    $HTML_ocHoBa_Script
      --></script>
      </Head>
     <Body><Table class="tbl_0"><tr><td>
    $HTML_ocHoBa_cogepwaHue
     </td></tr></Table></Body>
    </HTML>
    HD;

    Отседова)))
    http://forum.vingrad.ru/forum/topic-294895/kw-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D0%B5.htm l

    DanxilLs, 26 Марта 2010

    Комментарии (3)
  11. SQL / Говнокод #2871

    −157.2

    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
    Select @clientMoney_DayEnd = coalesce([Money], 0.0)
    FROM dbo.AccountOperation 
    where 
    	OperationDateTime = (
    		select max(OperationDateTime) 
    		from dbo.AccountOperation 
    		where 
    			cast(year(OperationDateTime) as varchar(4)) + 
    				right('0' + cast(month(OperationDateTime) as varchar(2)), 2) + 
    				right('0' + cast(day(OperationDateTime) as varchar(2)), 2) <= 
    			(
    				select cast(datepart(year, max(QuoteDateTime)) as varchar(4)) +
    						right('0' + cast(datepart(month, max(QuoteDateTime)) as varchar(2)), 2) +
    						right('0' + cast(datepart(day, max(QuoteDateTime)) as varchar(2)), 2) + ' 23:59'
    				from CloseQuote
    				where
    					QuoteDateTime < dateadd(day, 1, @currDate)			
    			) and 
    			[Money] is not null and 
    			ClientID = @clientID
    	)  and 
    	[Money] is not null and 
    	ClientID = @clientID
    	order by ID desc

    Разбить datetime на год, месяц, день. Отдельно каждое начение привести к чару, собрать из них строку даты... Ну и посравнивать ее с такой же шедеврашьной строкой...
    А да... и все это в мега-курсоре для каждой даты...
    Другой вариант для данной задачи, хотябы cast(OperationDateTime as date) cast(QuoteDateTime as date), неприемлем категорически:):):):):)::)

    38popugaev, 26 Марта 2010

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