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

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

    −166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Попытка
    	ФС.КопироватьФайл(Каталог+Файл+Расширение,НовоеИмя,1);
    	Если ФС.СуществуетФайл(НовоеИмя)=0 Тогда
    		СоздатьОбъект("АбсолютнаяЧушь");
    	КонецЕсли;
    	НовоеЗначение=Сред(НовоеИмя,СтрДлина(Лев(КаталогИБ(),СтрДлина(КаталогИБ())-1)+"-MEDIA\")+1);
    	НовоеСтрока=НовоеЗначение;
    Исключение
    	Предупреждение("Не удаётся скопировать файл!",5);
    КонецПопытки;

    Классный способ вызвать исключение.

    jerokee, 16 Мая 2013

    Комментарии (12)
  3. Си / Говнокод #12912

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void ps(const char *a)
    {/*means putstring*/
    	for(; '\0' != *a; a++)
    		putchar(' ' != *a ? *a : (putchar('\n'),'\t'));
    }

    Как-то ночью, в час унылый, в голове собрав все силы,
    Разум темный, как могила, начал свой хромой закон.
    Начиная выражаться, а точнее проявляться,
    В мир безбрежный и зеленый, зло построило свой ход:
    Пальцы тонкие и злые, подчиняясь темной силе,
    Выхватив перо в чернилах, вывели сей говногод.

    ntfshard, 18 Апреля 2013

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

    −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
    +(NSString*)filterDigits:(NSString*)number
    {
        unichar zer = '0', nine = '9', cur;
        unsigned long l = [number length];
        NSMutableData *buf = [NSMutableData data];
        for (unsigned long j = 0; j!=l; j++)
        {
            cur = [number characterAtIndex:j];
            if (cur>=zer&&cur<=nine)
            {
                char digit = (char)cur;
                [buf appendBytes:&digit length:sizeof(char)];
            }
            
        }
        NSString* ret = [[[NSString alloc] initWithData:buf encoding:NSUTF8StringEncoding] autorelease];
        return ret;
    }

    Золотые у тебя руки парень. Но всеравно не оттуды растут (;

    Psionic, 11 Апреля 2013

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

    +13

    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
    std::string StringUtilities::replace(const std::string& strValue,
                                         uint8_t piWhat,
                                         uint8_t piWith)
    {  
      size_t len = strValue.length();
      uint8_t* lTemp = new uint8_t[len + 1];
      memset(lTemp, '\0', len + 1); //+ 1 for \0
      memcpy(lTemp, strValue.c_str(), len);
      for (size_t i = 0; i < len; i++)
      {
        if (lTemp[i] == piWhat)
          lTemp[i] = piWith;
      }
      return string( (int8_t*) lTemp );  
    }

    Любители велосипедов...

    blackhearted, 10 Апреля 2013

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

    +16

    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
    #include <iostream>
    using namespace std;
     
    class Function {
    public:
        Function() {
            cout << "Function created!" << endl;
        }  
    };
     
    void Function() {
        cout << "Function called" << endl;
    }
     
    int main() {
        //class Function f;
        class Function *f = new class Function;
        Function();
        
        return 0; 
    }

    Бодаемся с семантическим анализатором.

    Elvenfighter, 05 Апреля 2013

    Комментарии (12)
  7. JavaScript / Говнокод #12845

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var detailsTable = document.getElementById("detailsTable").tBodies[0];
    var childs = [], j=0;
    for (var i = 0; i < detailsTable.childNodes.length; i++)
    	if  (detailsTable.childNodes[i].nodeType == 1){
    		childs[j++] = detailsTable.childNodes[i];
    	}
    childs[0].childNodes[1].innerHTML = ''

    Наткнулся в нашем проекте. Так юниор получал доступ к ячейкам таблицы. Видно, он не знал про коллекции rows и cells.

    torbasow, 03 Апреля 2013

    Комментарии (12)
  8. PHP / Говнокод #12838

    +168

    1. 1
    2. 2
    3. 3
    ...
    <input type="hidden" name="Id" value="<?=rand(1000,9999);?>" />
    ...

    Вы все еще думаете, что "select max+1" - плохой способ для установки первичного ключа?

    DRAN1k, 01 Апреля 2013

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

    +149

    1. 1
    preg_match_all('/<td class=\"f\">\n\t\t\t\t\n\t\t\t\t\t(.*)\n\t\t\t\t<\/td>/', $page, $section)

    https://github.com/ElizarovEugene/TorrentMonitor/blob/master/trackers/tfile.me.search.php#L34
    ну и много всякой другой вкуснятины

    DrFreez, 22 Марта 2013

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

    −124

    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
    КоличествоОбъектов_ = 0;
    	
    	Для Каждого СтрокаТаблицы Из Объекты Цикл
    		Если СтрокаТаблицы.Объект = Элемент.Значение Тогда
    			КоличествоОбъектов_ = КоличествоОбъектов_ + 1;
    		КонецЕсли;
    	КонецЦикла;
    
    	Если КоличествоОбъектов_ > 1 Тогда
    		Элемент.Значение = Справочники.ОбъектыСтрахования.ПустаяСсылка();
    		Предупреждение("Выбранный объект уже присутствует в списке");
    		Возврат;
    	КонецЕсли;

    Нашел такое в конфе, которую поддерживаю.
    Программер накнопал алгоритм, чтобы исключить попадание одного и того же объекта в таблицу.
    Вначале был ступор, потом дошло.

    Ivon, 18 Марта 2013

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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция КоличествоМесяцев(Дата1, Дата2)
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	|	РАЗНОСТЬДАТ(&Дата1, &Дата2, МЕСЯЦ) + 1 КАК Результат";
    	Запрос.УстановитьПараметр("Дата1", Дата1);
    	Запрос.УстановитьПараметр("Дата2", Дата2);
    	Выборка = Запрос.Выполнить().Выбрать();
    	Если Выборка.Следующий() тогда
    		Возврат Выборка.Результат
    	КонецЕсли;
    КонецФункции

    Хотя, по-моему, неоригинально, уже было.
    Может начнем ходить на сервер, чтобы два числа сложить?

    mrbus, 14 Марта 2013

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