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

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

    +1

    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
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.IO;
    using Excel;
    using FPCLib.Models.Broadcasts;
    
    namespace ExcelReadTests.Model.Путевка
    {
        public class MyExcel : IDisposable
        {
            private readonly DataTable table;
    
            public MyExcel(string putevkaFileName)
            {
                table = ReadToTable(putevkaFileName);
            }
    
    		  internal DataTable ReadToTable(string excelFileName)
            {
                var stream = File.Open(excelFileName, FileMode.Open, FileAccess.Read);
                var excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
    
                return excelReader.AsDataSet().Tables[0];
            }
    
            public bool IsTvc()
            {
                if (table.Columns.Count == 10)
                    return true;
                return false;
            }
    
            public bool IsFriday()
            {
                if (table.Columns.Count == 16)
                    return true;
                return false;
            }
    		
          
            public List<Broadcast> GetBroadcastsFriday()
            {
                var broadcasts = new List<Broadcast>();
                for (var i = 0; i < table.Rows.Count; i++)
                {
                    if (table.Rows[i][0].ToString().Length > 1)
                    {
                        broadcasts.Add(new Broadcast
                        {
                            Time = new Time(table.Rows[i][0].ToString()),
                            Title = table.Rows[i][1].ToString(),
                            File = table.Rows[i][3].ToString(),
                            Type = table.Rows[i][7].ToString(),
                            Id = table.Rows[i][2].ToString(),
                            Length = new Time(table.Rows[i][4].ToString())
                        });
                    }
                }
    
                return broadcasts;
            }
    
            public List<Broadcast> GetBroadcastsTvc()
            {
                var broadcasts = new List<Broadcast>();
                for (var i = 0; i < table.Rows.Count; i++)
                {
                    broadcasts.Add(new Broadcast
                    {
                        Time = new Time(table.Rows[i][0].ToString()),
                        Title = table.Rows[i][2].ToString().Trim(),
                        File = table.Rows[i][6].ToString().Trim(),
                        Type = table.Rows[i][9].ToString().Trim(),
                        Id = table.Rows[i][1].ToString().Trim(),
                        Length = new Time(table.Rows[i][5].ToString())
                    });
                }
    
                return broadcasts;
            }
    		
    		  public void Dispose()
            {
            }
          
        }
    }

    вот так открываю эксельку
    DataTable ReadToTable(string excelFileName)

    по количеству столбцов, определяю ее источник)
    public bool IsTvc()
    public bool IsFriday()



    и даже поддерживаю интерфейс IDisposable))

    yolozesoja, 08 Декабря 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
            renderer = new THREE.WebGLRenderer({ antialias: true, preserveDrawingBuffer: !!navigator.userAgent.match(/Trident.*rv[ :]*11\./) });
        } catch (mammothFeces) {
            renderer = new THREE.CanvasRenderer();
        }

    клиент тестирует на сафари 5. а я думал, ие11 (/Trident.*rv[ :]*11\./) это худшее, что случится на проекте

    makc3d, 04 Декабря 2015

    Комментарии (2)
  4. PHP / Говнокод #19124

    +1

    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
    $RECORDS = array();
    $qRecords = ' SELECT `id`, `original_name`, `urn_name` FROM `ac_brands` ORDER BY `original_name` ASC ';
    $rqRecords = mysql_query($qRecords, $mysql) or die(mysql_error());
    
    // общее количество объявлений в БД
    $totalAmt = 0;
    
    while($RECORD = mysql_fetch_assoc($rqRecords))
    {
    	// получаем количество объявлений в БД для данного бренда
    	$qAmtAds = ' SELECT `count_ads` FROM `ac_brands` WHERE `id` = "'.intval($RECORD['id']).'"';
    	$rqAmtAds = mysql_query($qAmtAds, $mysql) or die(mysql_error());
    	
    	$RECORD['amt_ads'] = mysql_fetch_object($rqAmtAds)->{"count_ads"};
    	$totalAmt += $RECORD['amt_ads'];
    	
    	$RECORDS[] = $RECORD;
    }

    Что ОН, б**ть, делает? =)
    Походу чувак не знает про COUNT() и GROUP BY...

    Lander, 03 Декабря 2015

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

    +1

    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
    /**
     * Метод проверяет и правит корректность символов кодировки
     * @param іекштп $str Проверяемая строка
     * @param string $charset Кодировка строки
     * @return string
     */
    public function fixCharset($str, $charset = 'utf-8'){
        $return = '';
        // Проверяем строку на корректность, если нет, дробим на два и проверяем первую часть,
        // и т.д. проверяем первую часть от части, пока не найдём корректную или не останется 1 символ
        // который отбрасываем
        while(($len = strlen($str)) > 0){
            while(($iconv = @iconv($charset,
                    (strtolower($charset) == "utf-8" ? "cp1251" : "utf-8"),
                    substr($str,0,$len))) === false){
    
                if($len == 1){
                    break;
                }
                $len = ceil($len / 2);
            }
    
            if($iconv){
                $return .= substr($str,0,$len);
            }
            $str = substr($str,$len);
        }
    
        return $return;
    }

    Человек знал про iconv //IGNORE и все равно такое сотворил.

    Ant, 25 Ноября 2015

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

    +1

    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
    <div class="body">
     <span method="POST" rm=""> <input type="hidden" value="sendquestion" name="action">
    		<div>
    			 Задайте вопрос по интересующим Вас товарам и услугам. Оставьте, пожалуйста, контактную информацию, и наш менеджер свяжется с Вами. Мы работаем с 9:00 до 18:00.
    		</div>
     <br>
    		<div class="input-field">
     <input type="text" placeholder="Ваше Имя" maxlength="200" size="60" name="name" required="">
    		</div>
    		<div class="input-field">
     <input type="text" placeholder="Ваш email" maxlength="100" size="60" name="email" required="">
    		</div>
    		<div class="input-field user-phone rfield" placeholder="(__) ___-__-__">
     <input type="tel" name="phone-namber" class="user-phone rfield" placeholder="(__) ___-__-__">
    		</div>
     <textarea name="question" rows="5" placeholder="Ваш вопрос"></textarea> <br>
     <button class="btn_submit" type="button">
    		Отправить </button> </span>
    	</div>

    Дизайнер иногда "подверстывает"...

    Stefan_Hitskov, 25 Ноября 2015

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    string str3 = Strings.Trim(ID);
     do
     {
         num2 = (short) Strings.InStr(str3, " ", CompareMethod.Binary);
         if (num2 > 0)
         {
                str3 = str3.Substring(0, num2 - 1) + Strings.Mid(str3, num2 + 1);
         }
    }
    while (num2 > 0);

    А зачем нам str3.Replace(" ", string.Empty) ?

    inickvel, 25 Ноября 2015

    Комментарии (1)
  8. Куча / Говнокод #19078

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    section.static > div[style="display:block; border: solid 1px #cfcfcf; padding : 10px"]{
        border: none !important;
        padding: 0 !important;
    }

    css-костыль!)

    Stefan_Hitskov, 24 Ноября 2015

    Комментарии (1)
  9. JavaScript / Говнокод #19074

    +1

    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
    function getQuarter(month) {
                            if (0 <= month && month <= 2) return "Q1 ";
                            if (3 <= month && month <= 5) return "Q2 ";
                            if (6 <= month && month <= 8) return "Q3 ";
                            return "Q4 ";
                        };
    
                        function getDate(lastActionDate) {
                            var dateString = lastActionDate.split(/\-|\s/);
                            var date = new Date(dateString.slice(0, 2));
                            var month = date.getMonth();
                            var year = date.getFullYear();
                            var quarter = getQuarter(month);
                            return "<span>Last Action Plan: <br> " + quarter + year + "</span>";
                        }

    на проекте активно используется momentjs

    zxxc, 24 Ноября 2015

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

    +1

    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
    <?php
            $gudir = opendir("../text/$book");
            $guarray = Array();
            while(false != ($gufile = readdir($gudir)))
            {
                    if(strstr($gufile, "gu@"))
                    {
                            $guarray[count($guarray)] = $gufile;
                    }
            }
            closedir($gudir);
            if(count($guarray))
            {
                    rsort($guarray);
                    foreach($guarray as $gucomment)
                    {
                            /*Здесь движок отображения комментариев*/
                            include "../text/$book/$gucomment";
                    }
            }
    ?>

    Я не знаю, что делает этот код. Никаких файлов с символами gu@ в каталогах не осталось. Лет 8 назад с другом книгу писали, решили замутить сайт. Ту книгу мы потом посчитали фигней и забросили. Про БД я тогда и не подозревал. Все хранилось в таких файлах:

    chapter#prae#prae#Предисловие#previous#0 #0#next#1#1
    chapter#1#1#Глава 1.1#previous#prae#prae#next#1#2
    chapter#1#2#Глава 1.2#previous#1#1#next#0#0

    kgm-rj, 23 Ноября 2015

    Комментарии (13)
  11. PHP / Говнокод #19043

    +1

    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
    $dbh = new PDO("mysql:host=$this->dbHost;dbname=$this->dbName", $this->dbUser, $this->dbPassword);
            $dbh->exec("set names utf8");
    
            $street = $streetPart.'%';
            if (isset($arChooseCity[$cityIndex])) {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_az LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_en LIKE '$arChooseCity[$cityIndex]'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            else {
                $condition =
                    "(city_az LIKE '$city'"
                    ." OR city_ru LIKE '$city'"
                    ." OR city_en LIKE '$city')"
                    ." AND (geo_az LIKE '$street'"
                    ." OR geo_ru LIKE '$street'"
                    ." OR geo_en LIKE '$street'"
                    ." OR geo_az LIKE '% $street'"
                    ." OR geo_en LIKE '% $street'"
                    ." OR geo_ru LIKE '% $street')"
                ;
            }
            $condition_type = " AND type = 'geo_object'";
            $condition_street = " AND type = 'street'";
    
            $query_street = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_street GROUP BY street_{$lang}, city_{$lang} ORDER BY weight DESC LIMIT 0, {$maxLimit}");
            $query_type = $dbh->prepare("SELECT * from `addresses_new_new` WHERE $condition $condition_type LIMIT 0, {$maxLimit}");
    
            $query_street->execute();
            $query_type->execute();

    match - against никому не нужен! пользуйся только like.

    akanit, 18 Ноября 2015

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