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

    +75

    1. 1
    2. 2
    3. 3
    public boolean setTraceColor(String traceName, Color traceColor) {
        return true;
    }

    что бы это значило...

    nikit13, 25 Марта 2015

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

    +159

    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
    public function getProductAttributes($product_id) {
    	$product_attribute_data = array();
    
    	$product_attribute_query = $this->db->query("SELECT attribute_id FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' GROUP BY attribute_id");
    
    	foreach ($product_attribute_query->rows as $product_attribute) {
    		$product_attribute_description_data = array();
    
    		$product_attribute_description_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'");
    
    		foreach ($product_attribute_description_query->rows as $product_attribute_description) {
    			$product_attribute_description_data[$product_attribute_description['language_id']] = array('text' => $product_attribute_description['text']);
    		}
    
    		$product_attribute_data[] = array(
    			'attribute_id'                  => $product_attribute['attribute_id'],
    			'product_attribute_description' => $product_attribute_description_data
    		);
    	}
    
    	return $product_attribute_data;
    }

    Opencart -> ModelCatalogProduct -> getProductAttributes
    Первым запросом в БД они берут IDы атрибутов, перебирают их циклом, в котором другим запросом берут всё, в том числе и те же IDы, из той же таблицы и снова перебирают строки циклом.

    technobulka, 25 Марта 2015

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

    −116

    1. 1
    2. 2
    for i in `seq 1 10000`; do echo $i; done | parallel --gnu sh -c ':;echo {}; python getreq.py {} >olymp-{}.html'
    (for i in olymp-*.html; do echo `md5sum $i`; done) | sort | awk '{ print $2, $1 }' | uniq -f 1 | awk '{ print $1 }' | xargs -I{} -n 1 sh -c ":;(cat {} | egrep -o 'question__section-name.*?</div>' | sed 's/question__section-name\">//g' | sed 's/<\/div>//g' | tr -d '\n'); echo \ {}" | sort | awk '{ print $(NF)}' | xargs -I{} -n 1 cat {} >>total2.html

    Скачал все задачки универсиады и собрал в один файлик.
    Смотреть страшно

    allocator, 25 Марта 2015

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

    +160

    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
    abstract class class_getset {
    	protected $vars;
    	
    	public function get($name = "%all%") {
    		if($name == "%all%") {
    			return $this->vars;
    		}
    		else {
    			return $this->vars[$name];
    		}
    	}
    	
    	/* тут второй метод, угадай его название */
    }

    Старый код из 2012, интересное решение ...

    volter9, 25 Марта 2015

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

    +52

    1. 1
    #include <boobs_1_57_0/boost/range.hpp>

    laMer007, 24 Марта 2015

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

    −82

    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
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    	
    	Если НЕ ВвестиСтроку(Комментарий, "Укажите комментарий к запрещению: ", 255) Тогда
    		ОбщегоНазначения.СообщитьОбОшибке("Не указан комментарий к запрещению!", Отказ, Заголовок);
    		Форма = ЭтотОбъект.ПолучитьФорму("ФормаДокумента");
    		Если Форма.Открыта() Тогда
    			Форма.Закрыть();	
    		КонецЕсли;
    		Возврат;
    	КонецЕсли;  
    	
    	Если СтрДлина(Комментарий) < 11 Тогда
    		ОбщегоНазначения.СообщитьОбОшибке("Комментарий слишком короткий!", Отказ, Заголовок);
    		Возврат;
    	КонецЕсли;
    
    КонецПроцедуры

    И пусть транзакция подождет. Дорогой, у тебя слишком короткий комментарий.

    safer_bwd, 24 Марта 2015

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

    +127

    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
    INDEX.HTML
    
        {% extends "style_body.html" %}
        {% block head %}
        <meta charset="UTF-8">
        {% endblock %}
    {% block body %}
    <h1 align="center">Звіт по витратах</h1>
    
    <table align="center">';
    {% for item in payments['list'] %}
        <tr><td>{{ item['data']}}</td>
            <td>{{item['summa']}}</td>
            <td>{{item['id']}}</td>
            <td><button  onclick="window.location.href='index.php?id={{item['id']}}&go=delete'"><img src="del.gif" alt="Del"style="vertical-align: middle">  </button></td></tr>
    {% endfor %}
    
    </table>
    </br></br></br>
    <table align="center"><tr><td><button   onclick="window.location.href='index.php?go=addData'">
        <img src="add.png" alt="Add" style="vertical-align: middle">Додати новий запис </button></td></tr></table>
    {% endblock %}
    
    
    FORM.HTML
    {% extends "style_body.html" %}
    
        {% block title %}
    
        {% endblock %}
        {% block head %}
    
        {% endblock %}
    
    {% block body %}
    <form name="test" method="post" action="index.php">
    
       <p align="center"><b>Введіть дату в форматі гггг-мм-дд:</b></br>
           <input type="hidden" name="go" value="add" >
           <input type="text" size="40" name="data" align="center" ></br>
    
           <b align="center">Введіть витрачену сумму:</b></br>
           <input type="text" size="40" name="summa" align="center"></br>
           </p>
    
       <p align="center"><input type="submit" value="Додати запис">
          <input type="reset" value="Очистити"></p>';
       </form>';
    {% endblock %}
    
    STYLE_BODY.HTML
    <!DOCTYPE html>
    <html>
    <head >
        {% block head %}
    
        <title>{% block title %}{% endblock %} - My Webpage</title>
        {% endblock %}
    </head>
    <body background="money.jpg">
    {% block body %}{% endblock %}
    </div>
    </body>
    </html>

    vityapro, 24 Марта 2015

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

    +95

    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
    var dt = DateTime.Now;
                var strTimeFilter = string.Empty;
                switch (filter.TimeTypeId)
                {
                    case 2:
                        strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-01 00:00:00.000") +
                                    "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 3:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-1).ToString("yyyy-MM-dd hh:mm:ss.fff") +
                                    "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 4:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-1).ToString("yyyy-MM-01 00:00:00.000") +
                                     "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 5:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-2).ToString("yyyy-MM-01 00:00:00.000") +
                                     "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 6:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddMonths(-5).ToString("yyyy-MM-01 00:00:00.000") +
                                    "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 7:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddYears(-1).ToString("yyyy-MM-dd hh:mm:ss.fff") +
                                    "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd hh:mm:ss.fff") + "'";
                        break;
                    case 8:
                        strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-dd 00:00:00.000") +
                                    "' AND r.ExpirationDateTime<='" + dt.ToString("yyyy-MM-dd 23:59:59.999") + "'";
                        break;
                    case 9:
                        strTimeFilter = "r.StartDateTime>='" + dt.AddDays(1).ToString("yyyy-MM-dd 00:00:00.000") +
                                        "' AND r.ExpirationDateTime<='" + dt.AddDays(1).ToString("yyyy-MM-dd 23:59:59.999") + "'";
                        break;
                    case 10:
                        strTimeFilter = "r.StartDateTime>='" + dt.ToString("yyyy-MM-dd 00:00:00.000") + "'";
                        break;
                    case -1:
                        var fds = filter.FirstTime.ToTrim();
                        var lds = filter.LastTime.ToTrim();
                        if (!string.IsNullOrEmpty(fds) && string.IsNullOrEmpty(lds))
                        {
                            DateTime fd;
                            if (DateTime.TryParse(fds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out fd))
                            {
                                strTimeFilter = " r.StartDateTime>='" + fd.ToString("yyyy-MM-dd 00:00:00.000") + "' ";
                            }
                        }
                        else if (string.IsNullOrEmpty(fds) && !string.IsNullOrEmpty(lds))
                        {
                            DateTime ld;
                            if (DateTime.TryParse(lds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out ld))
                            {
                                strTimeFilter = " r.ExpirationDateTime<='" + ld.ToString("yyyy-MM-dd 23:59:59.999") + "' ";
                            }
                        }
                        else if (!string.IsNullOrEmpty(fds) && !string.IsNullOrEmpty(lds))
                        {
                            DateTime fd, ld;
                            if (DateTime.TryParse(fds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out fd)
                                && DateTime.TryParse(lds, new CultureInfo("ru-RU", false), DateTimeStyles.None, out ld))
                            {
                                strTimeFilter = "r.StartDateTime>='" + DateTime.Parse(filter.FirstTime, new CultureInfo("ru-RU", false)).ToString("yyyy-MM-dd 00:00:00.000") +
                                    "' AND r.ExpirationDateTime<='" + DateTime.Parse(filter.LastTime, new CultureInfo("ru-RU", false)).ToString("yyyy-MM-dd 23:59:59.999") + "'";
                            }
                        }
                        break;
                }

    Это часть метода для формирования where-clause SQL-запроса для фильтра данных по дате вида "Сегодня", "Вчера", "За последний месяц", "За последние два месяца" и т. п.

    retter, 24 Марта 2015

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

    +67

    1. 1
    2. 2
    3. 3
    public boolean isUsing(AttributeType type) {
            return (this.attributeTypes.indexOf(type) >= 0);
    }

    низкоуровневое программирование

    dmli, 24 Марта 2015

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /**
     * @param string $singular
     * @param string $context
     */
    function translate($singular, $context=null) {
    	return $singular;
    }

    Любимый вордпресс, wp-includes/pomo/translations.php. Кажется, это такой интерфейс.

    Fike, 24 Марта 2015

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