1. Список говнокодов пользователя Dimarius

    Всего: 6

  2. C# / Говнокод #18042

    +943

    1. 1
    таблица.ячейки.Where(ячейка => ячейка.выбрана).ToList().ForEach(ячейчка => ячейчка.ОчиститьЗначение());

    Похоже, у автора сама цель усложнить понимание кода и использовать LINQ. Я бы написал так:
    foreach (var ячейка in таблица)
    if (ячейка.выбрана)
    ячейчка.ОчиститьЗначение();

    Dimarius, 22 Апреля 2015

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

    +58.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
    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
    // кусок из хидера
    
    #define b__bl {
    #define e__bl }
    
    #define b__st {
    #define e__st }
    
    #define b__un {
    #define e__un }
    ...
    #define end_if else ;
    
    // Один коротенький метод
    
    void  Sud::vosstkdr()
    b__fu  int i=0, imv=0, imasOut=0, lpovt;
      for(; i<isl; i++) b__fo
        if(imv < lmv)
          if(i==(Pmvosst=mvosst+imv)->imkdrish)
    	{  lpovt=Pmvosst->nvosst+1; imv++;}
          else lpovt=1;
        else lpovt=1;
        for(int k=0; k<lpovt; k++) b__fo
          masOut[imasOut] = mkdrish[i];
          if(mdm) if(++imasOut == 35) return; end_if
          else    if(++imasOut == 32) return; end_if
        e__fo
      e__fo
    e__fu

    Вот так у нас пишет один матёрый программист (юникс). Привёл для примера коротенький метод.
    Особое внимание заслуживает идентификатор mkdrish. Это какая-то комбинация слов "массив", "кадр", "short"

    Dimarius, 02 Сентября 2009

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

    +56.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
    class         inTm: public ioTm
            {           public: inTm(){ startInTm(); buffer=temp; };
                           int  readTm (tmData&);
                  virtual void  message(const structMessage&){};
                          void  inputArray (int);
                          void  setNonBlock(int);
                          void  startInTm();
                          long  readTmPos(tmData&);
                     protected:
                unsigned  char  temp[lengthBuffer];
              virtual unsigned  char* readBuffer(int&)=0;
                           int  inputBuffer();
                          void  convertTm(unsigned char*, tmData&);
                  virtual long  getPos(){ return current-count-countTemp; };
                       private:
                          void  cnvTmPC  (unsigned char*, tmData&);
                          void  cnvTmNet (unsigned char*, tmData&);
                        friend  inTmBl;
                        friend  finTm;
                           int  count;
                           int  lengthIn;
                unsigned  char* tempBuf;
                           int  countTemp;
            };

    Программист Мудрецов (фамилия у человека такая) был большим затейником. Например, код на С++ в хидерах он формативровал по центру - как стихи.
    P. S. Надеюсь, на сайте форматирование сохранится.

    Dimarius, 01 Сентября 2009

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    int i, j;
    for (i = j = 0; i < 4; i++)
    	if (frame & (0x8 >> i))
    	{
    		if (i < 2 && p.value < double(frames1[j]) && !(i && j) ||
    			i > 1 && p.value > double(frames1[j]))
    			p.value.attr = 1 + i;
    		j++;
    	}

    Как вам цикл до 4 с тремя проверками на значение счётчика? :)

    Dimarius, 25 Августа 2009

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

    +142.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public Аккаунт НайтиУчётнуюЗаписьПользователя(string логин, string пароль)
    {
    	lock (_пользователи)
    		return _пользователи.Find(пользователь => пользователь.НеТыЛиЭто(логин, пароль));
    }

    Dimarius, 12 Августа 2009

    Комментарии (16)
  7. Java / Говнокод #1538

    +68.9

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public char getChar() throws ErrorLexAn {
    	delSpace();
    	int simb = p.bufStr[p.posStr] & 0xFF;
    	return charl = simb < 128 ? (char) simb :
    		(new String(new byte[]{
    			convert == false ? (byte) simb : arrayConv[simb]})).charAt(0);
    }

    Читает следующий символ из буфера (хранятся в байтах) и конвертит по таблице.
    Я сам джаву плохо знаю, но уверен, что byte -> char можно сконвертить как-то проще.

    Dimarius, 12 Августа 2009

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