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

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

    +136

    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
    static string[] ArrayFuller(string pathToFile)
            {
    
                int rr = 0;
                StreamReader sr=new StreamReader(pathToFile);
                while(!sr.EndOfStream){
                sr.ReadLine();
                rr++;
                }
                StreamReader sr2 = new StreamReader(pathToFile);
                string[] arrayBox = new string[rr];
                for (int i = 0; i < rr; i++)
                {
                    arrayBox[i] = Convert.ToString(sr2.ReadLine());
                }
                sr2.Close();
                return arrayBox;
            }

    vladb9582, 18 Июня 2014

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

    +164

    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
    function EscapePHPString($str)
    {
    	$str = str_replace("\\", "\\\\", $str);
    	$str = str_replace("\$", "\\\$", $str);
    	$str = str_replace("\"", "\\"."\"", $str);
    	return $str;
    }
    
    function UnEscapePHPString($str)
    {
    	$str = str_replace("\\\\", "\\", $str);
    	$str = str_replace("\\\$", "\$", $str);
    	$str = str_replace("\\\"", "\"", $str);
    	return $str;
    }

    Bitrix.

    TBoolean, 16 Июня 2014

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

    +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
    // Выше PHP + HTML
    
    $redirect = "
    <script language='JavaScript'> 
      window.location.href = 'http://www.p-ride.ru'
    </script>
    ";
    
    // ...
    
    $query1 = "SELECT main_id FROM email WHERE email = '$email'";
    $idquery = mysql_query($query1);
    $id = mysql_fetch_row($idquery);
    
    // ...
    
    if(in_array($id[0], $idarray2))
    {
    	echo $starthtml;
    	echo $redirect;
    	// ^ тут
    	echo "<p>Такой почтовый адрей уже используется, ведите пожалуйста другой адрес или восстановите пароль. Вы сейчас будете перенаправлены на главную страницу, если этого не произошло, кликните <a href='http://p-ride.ru'>сюда</a>.</p>";
    	echo $endhtml;
    }

    Редирект аля ПоХаПэ + отображение сообщение которое не будет показано.

    volter9, 15 Июня 2014

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

    +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
    var pz = 1/Infinity;
    var mz = -1/Infinity;
    
    // неотличимы
    pz == mz; // true
    pz === mz; // true
    mz < pz; // false
    pz < mz; // false
    
    // но
    Math.min(pz, mz); // -0
    Math.max(pz, mz); // 0

    Так как же отличить -0 от +0?

    (-1.0 / mz) == Infinity?

    bormand, 11 Июня 2014

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    if ($params['sendNow'] !== true)
    	return $this->addToSendingEmailList($params);
    else
    	return $this->send($params);

    Творческая муза сумеречного украинского гения не может проверить условие как нормальный, белый человек.

    solbianca, 09 Июня 2014

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

    +162

    1. 1
    2. 2
    3. 3
    var interval = setInterval(function() {}, 10000);
        // get rid of the newline-removing interval
        for (var j = interval - 10000; j < interval + 10000; j++) { clearInterval(j); }

    Кусок юзерскрипта, позволяющего вставлять переносы строки в заданных вопросах на Tumblr.
    Это просто волшебно...

    Vindicar, 08 Июня 2014

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static public function dumpObj($obj)
    {
            ob_start();
            print_r($obj);
            $dump = ob_get_contents();
            ob_end_clean();
    
            return $dump;
    }

    Нашел в коде проекта. Для тех кто не понял: посмотрите доку функции print_r, на второй аргумент...

    fetole, 04 Июня 2014

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

    +12

    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
    template<typename T, typename T1>
    	class TSwitch
    	{
    		private:
    			std::function<T1(T)> _functionSwitch;
    			std::function<void(T)> _defaultFunction;
    			std::map<T1, std::function<void(T)> > _map;
    		private:
    			IActorPtr _protocol;
    			IActorPtr _port;
    			IActorPtr _listParam;
    			IActorPtr _managerData;
    
    		public:
    		TSwitch(std::function<T1(T)> functionSwitch,std::map<T1, std::function<void(T)> > mapSwitch):_functionSwitch(functionSwitch)
    																									,_defaultFunction([](T value){std::cout<<"no way";})
    																									,_map(mapSwitch){}
    		TSwitch(std::function<T1(T)> functionSwitch, std::function<void(T)> defaultValue,std::map<T1, std::function<void(T)> > mapSwitch):_functionSwitch(functionSwitch)
    																																		,_defaultFunction(defaultValue)																																,_map(mapSwitch){}
    		virtual ~TSwitch(){}
    		public:
    			void switches(T value)
    			{
    				auto it=_map.find(_functionSwitch(value));
    				if (it==_map.end()) {_defaultFunction(value); return;}
    				it->second(value);
    			}
    	};

    Вот такая замена switch. Отстойно не правда-ли?

    IKing, 29 Мая 2014

    Комментарии (6)
  10. Ruby / Говнокод #16072

    −136

    1. 1
    2. 2
    3. 3
    4. 4
    it 'traders email should be nil' do
       trader = FactoryGirl.create(:trader, :email => nil)
       trader.email.should be nil
    end

    captain obvious test

    andrejlr, 28 Мая 2014

    Комментарии (6)
  11. Pascal / Говнокод #16056

    +83

    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
    var
      ABuffer: PAnsiChar;
      AText: PAnsiChar;
      BBuffer: PAnsiChar;
    begin
      ABuffer := 'TEST';
      BinToHex(ABuffer, AText, Length(ABuffer));
      ShowMessage(AText);
      ShowMessage(IntToStr(Length(AText)));
      GetMem(BBuffer, Length(AText) div 2);
      HexToBin(AText, BBuffer, Length(AText) div 2);
      BBuffer[Length(BBuffer) - 1] := #0;
      ShowMessage(IntToStr(SizeOf(BBuffer)));
      ShowMessage(BBuffer);
      FreeMem(BBuffer);
    end;

    http://www.sql.ru/forum/653685/bintohex-i-hextobin-delphi2009
    Возможно, я ошибаюсь, но по-моему код - лажа; насколько я понимаю, указатель "AText: PAnsiChar;" всего лишь УКАЗАТЕЛЬ, под него нигде в коде не выделяется память, автор юзает его как простую переменную.
    И никто его не поправил. Вроде думающие люди.

    brutushafens, 25 Мая 2014

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