1. C# / Говнокод #1969

    +132.9

    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
    //  Этот метод проверяет, создано ли окошло лога, если не создано, то создает его
            public void CheckLogWnd()
            {
                try
                {
                    if (logWnd.IsAccessible)
                    {
                    }
                }
                catch
                {
                    logWnd = new LogWnd();
                }
            }

    Не помню как сделать это правильно :(

    nolka4, 13 Октября 2009

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

    +158

    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
    <?php
    /**
     * хелпер подсчитывает кол-во дней между двух дат
     */
    class ********_View_Helper_DateDiff 
    {
    	/**
    	 * из дня, месяца и года формирует время в формате кол-ва дней
    	 * @return integer
    	 */
    	protected function dateToDays($day, $month, $year)
        {
            if ($month > 2) {
                // March = 0, April = 1, ..., December = 9,
                // January = 10, February = 11
                $month -= 3;
            } else {
                $month += 9;
                --$year;
            }
    
            $hb_negativeyear = $year < 0;
            $century         = intval($year / 100);
            $year            = $year % 100;
    
            if ($hb_negativeyear) {
                return intval((14609700 * $century + ($year == 0 ? 1 : 0)) / 400) +
                       intval((1461 * $year + 1) / 4) +
                       intval((153 * $month + 2) / 5) +
                       $day + 1721118;
            } else {
                return intval(146097 * $century / 4) +
                       intval(1461 * $year / 4) +
                       intval((153 * $month + 2) / 5) +
                       $day + 1721119;
            }
        }
    	/**
    	 * высчитывает разницу между двух дат
    	 * @return integer
    	 */
    	public function dateDiff($day1,$month1,$year1,$day2,$month2,$year2) {	
    		$days1 = $this->dateToDays($day1,$month1,$year1);
    		$days2 = $this->dateToDays($day2,$month2,$year2);
    		return ($days1-$days2);
    	}
    }

    кусок самописного расширения ZF.
    про gregoriantojd() люди не знали.

    fatlazyanimal, 12 Октября 2009

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

    +74.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    else if (i == '\n')
                {
                    if (lastb != '\r')
                    {                                 
                       // imagine my joy...
                        if (!(isCrlfStream && lastb == '\n'))
                        {
                            out.write(newline);
                        }
                    }
                    else

    Довольно известная опенсорсовая библиотека bouncycatle(bcmail-jdk15-143) разбирался в подписке eMail сообщений и вот где то на вторые- третьи сутки неравной борьбы и вкуривания доки дошел до этого куска кода, комент меня убил
    ЗЫ. Библиотека и ее писатели действительно круты но видно и они устают писать нетленный код.

    tsval, 12 Октября 2009

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

    +60.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CString str;
    if(censored_num < 10)
    	str.Format(_T("CENSORED 0%d"), censored_num);
    else
    	str.Format(_T("CENSORED %d"), censored_num);

    Найдено в рабочем коде.

    Xentrax, 12 Октября 2009

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

    −109.8

    1. 1
    2. 2
    3. 3
    4. 4
    Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
    	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
    КонецПроцедуры

    Всё тот же Самоделкин. Обработка события при выводе строки.
    Догодайтесь, в чём изюминка этой процедуры?

    Kopchuga, 12 Октября 2009

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

    +131.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public string EncodeParameter_1251(string param) {
    	var result = new StringBuilder();
    	foreach (var bt in Encoding.GetEncoding("windows-1251").GetBytes(param)) result.AppendFormat("%{0}", bt.ToString("X02"));
    	return result.ToString(); 
    }

    метод кодирующий значение параметра запроса в "windows-1251" в формате URL (%FF%FF%FF...).
    у проекта кодировка запросов в "UTF-8", но у остальных проектов - "windows-1251", и в другой кодировке они некорректно обрабатывают кириллицу в строке запроса. знаю, наговнокодил, ну а шо поделаеш...

    xeonix, 12 Октября 2009

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

    −156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Дораспределить = Новый ТаблицаЗначений();
    Дораспределить.Колонки.Добавить("Строка");
    Дораспределить.Колонки.Добавить("Количество");
    .....
    Дораспределить.Очистить();
    НовДораспределить = Дораспределить.Добавить();
    НовДораспределить.Строка = Дораспределить[0].Строка;
    НовДораспределить.Количество = Дораспределить[0].Количество - ОсталосьРаспределить;

    Новые приключения Самоделкина. На этот раз у него не прокатило, в последней строке валится с ошибкой.

    Kopchuga, 12 Октября 2009

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

    −159.9

    1. 1
    2. 2
    3. 3
    Если Не Запрос.Выполнить().Пустой() Тогда
    	Рез = Запрос.Выполнить().Выбрать();
    КонецЕсли;

    Пишу со слов друга, а он копает базу после местного самоделкина.
    Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.

    Kopchuga, 12 Октября 2009

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

    +77.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //Проверка на аццкие числа, ибо
          //"И он сделал то, что всем - малым и великим, богатым и нищим, свободным и рабам - положено будет начертание на правую руку
          // их или на чело их, и что никому нельзя будет ни покупать, ни продавать, кроме того, кто имеет это начертание или имя зверя,
          // или число имени его. Здесь мудрость. Кто имеет ум, тот сочти число зверя, ибо это число человеческое; число его шестьсот шестьдесят шесть".
          // (Апок. 13, 16-18).
          if (result.indexOf("666") > -1) {
    .........
    
    //Сатанский гетер
    public boolean isSatanic(){
    .......

    Вот такой вот код встретился в середине некого здорового метода для генерации номера пользователя.... И небольшой гетер к нему =))

    tsval, 12 Октября 2009

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

    +154.8

    1. 1
    2. 2
    3. 3
    4. 4
    final class Graph extends DefaultModule implements IModule {
    ..........
    	protected function getDataByDate() {
    ..........

    Интересно, какой скрытый смысл protected-метода в final-классе...

    darkmyan, 12 Октября 2009

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