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

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public static bool AddStringIfNoExist(this List<string> strlist, string str)
    {
        if (str == "") return true;
        foreach (string s in strlist) if (s == str) return true;
        strlist.Add(str);
        return false;
    }

    Hashset? А что это такое?

    kerman, 29 Марта 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <!--
    <?
    echo '11111111111';
    print_r($_POST);
    ?>
    -->

    Всем дебага. Найдено на странице с формой одного крупного проекта.

    fasterrr, 25 Марта 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #include <vector>
    
    template <typename T>
    void FreeAll( T & t ) {
        T tmp;
        t.swap( tmp );
    }

    3_dar, 20 Марта 2016

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

    +3

    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
    /**
         * Validate natural number (0,1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral');
            }
            return $response;
        }
    
        /**
         * Validate natural number, but not a zero (1,2,3,...)
         *
         * @param string $value number
         * @return string
         */
        public function natural_no_zero($value)
        {
            $response = '';
            if (!preg_match('/^[0-9]+$/', $value)) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
    
            if ($value == 0) {
                $response = $this->lang->get_str('system_invalid_neutral_no_zero');
            }
            return $response;
        }

    b2012993, 15 Марта 2016

    Комментарии (13)
  6. JavaScript / Говнокод #19629

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    JSON объект:
    { 
       "Tickets":[100999,100998,100997],
       "Price":[5,5,5],
       "TicketCount":3
    }
    
    Вместо положенных:
    {"Tickets":[ ["100999","5"],["100998","5"],["100997","5"]]}

    Разработчик высылает JSON объект где описывает массив, вместо того чтобы просто выслать массив)))))

    mypaxa, 15 Марта 2016

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

    +3

    1. 1
    2. 2
    var listModuleId = dbContext.MODULES.Where(n => n.IFDELETE == 0 && n.DEVICETYPE == 1).Select(m => m.IDMODULE).ToList();
    var ListMeasure = dbContext.MEASURE.Where(n => listModuleId.Contains(n.IDMODULES)).GroupBy(m => m.IDMODULES).ToList();

    Если в MODULES несколько сотен датчиков, то вторая строка разворачивается в sql-запрос на 22 килобайта, а если в MEASURE 13 тысяч записей, то этот запрос выполняется полторы минуты.
    Молчу уже о том, что listModuleId нигде, кроме второй строки, не используется.

    avialaynen, 15 Марта 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    protected function onAfterDispatchInitUsersInactivityFeatureIfNotDisabled()
    {
        if (!$this->disableUserInactivityFeature)
            $this->initUsersInactivityFeature();
    }

    DIX315, 14 Марта 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (!$ss_) {
    	$ss[]='http://cool-hacker.ru/public/hide_message/fail.png';
    	$ss[]='http://tolkomebel.com/includes/fail.png';
    	$ss[]='http://youhack.ru/images/fail.gif';
    	 
    	if (!@fopen($ss[0], 'r')) {if (!@fopen($ss[1], 'r')) {if (@fopen($ss[2], 'r')) { $ss_ = $ss[2];};}else{$ss_ = $ss[1];};}else{$ss_ = $ss[0];}
    
    	$img='<img src="'.$ss_.'" style="margin:0 3px 2px 3px;" />';
    ;}

    Зачем добавлять ссылку на одну иконку и менять её, когда можно так?

    Recouse, 13 Марта 2016

    Комментарии (92)
  10. C++ / Говнокод #19615

    +3

    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
    FOREACHINLIST(CBrushMip, bm_lnInBrush, penbr->GetBrush()->br_lhBrushMips, itbm)
      {
        CBrushMip &brmip=*itbm;
        FOREACHINDYNAMICARRAY(itbm->bm_abscSectors, CBrushSector, itbsc)
        {
          CBrushSector &bsc=*itbsc;
          FOREACHINSTATICARRAY(itbsc->bsc_abpoPolygons, CBrushPolygon, itbpo)
          {
            CBrushPolygon &bpo=*itbpo;
            CheckOnePolygon(bsc, bpo);
          }
        }
      }

    И такое используется во всём SeriousEngine

    mittorn, 13 Марта 2016

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

    +3

    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
    using System;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication
    {
        public class RandomGenerator
        {
            public static uint RandMax = 32767;
            private uint _next;
    
            private void _do()
            {
                _next = _next * 1103515245 + 12345;
            }
    
            public uint Get()
            {
                _do();
                return _next / 65536 % RandMax;
            }
    
            public RandomGenerator(uint seed)
            {
                _next = seed;
                Task.Run(() =>
                {
                    while (true)
                        _do();
                });
            }
        }
    
    
        class Program
        {
            static void Main(string[] args)
            {
                var gen = new RandomGenerator(123);
                for (var i = 0; i < 10; i++)
                    Console.WriteLine(gen.Get());
            }
        }
    }

    По мотивам http://govnokod.ru/19589 пришла идея.

    Линейный конгруэнтный генератор с бесконечным периодом

    3_dar, 08 Марта 2016

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