1. JavaScript / Говнокод #6131

    +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
    if (location.href.split('/')[4] == '14-0-0' | location.href.split('/')[4] == '14') {
    	$('#u1').attr({
    		class: 'tabv'
    	})
    }
    else if (location.href.split('/')[4] == '14-0-1') {
    	$('#u2').attr({
    		class: 'tabv'
    	})
    }
    else if (location.href.split('/')[4] == '14-0-0-1' || $('#PMtoUser').val()) {
    	$('#bar').hide();
    	$('#mess').css({
    		backgroundColor: '#fafafa'
    	});;
    	$('#mess').html('<div style="padding-top:30px;padding-bottom:30px;"><div id="valError2"></div><div id="valSuccess2"></div><div id="bmess"><div id="bmess2"><table width="100%"><tr><td align="left" valign="top"><div class="avaogets" style="margin-top:2px;"><img src='+noavatar+'></div></td><td width="100%" style="padding-left:15px;" align="left" valign="top"><div id="hname">Получатель</div><input type="text" id="nameSend"><div style="padding-top:9px;" id="hname">Тема</div><input type="text" id="tSend"></td></tr></table><textarea style="margin-top:10px;" id="message2"></textarea><div id="idCap" style="overflow:hidden;margin-top:3px;margin-left:1px;"><div style="float:left;" id="abbbb"></div><div style="float:right;"><input id="capval" maxlength="4" type="text"></div></div><div id="new_b" class="Mbd" style="margin-top:6px;" onclick="$(\'#sbm\').click()"><div id="new_b2">Отправить</div></div><div class="spanload" style="display:inline-block;padding-left:5px;"></div></div> </div></div>');
    	$('#u4').attr({
    		class: 'tabv'
    	})
    }

    Это и многое другое на http://uweb.su/js/new_message.js!
    Смотрите в браузерах вашего компьютера!

    UnderShot, 30 Марта 2011

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

    +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
    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
    m_hSemaphore		= CreateSemaphore( NULL, 1, 1, NULL );
    ....
    
    void CTestGUIDlg::OnBnClickedButtonStartStream()
    {
    	WaitForSingleObject(m_hSemaphore, INFINITE);
    	if(m_ThreadHandle)
    	{
    		AfxMessageBox("Stop running stream!", MB_ICONEXCLAMATION);
    		return;
    	};
    
    	m_ThreadHandle	= NULL;
    	m_StreamType	= 1;
    	m_ThreadHandle =					(HANDLE)_beginthreadex(NULL,
    										0,
    										streamProcedure,
    										static_cast<LPVOID>( this ),
    										0,
    										NULL);	
    
    	if(!m_ThreadHandle) 
    	{
    		m_StreamType	= 0;
    	}
    	UpdateButtons();
    	ReleaseSemaphore(m_hSemaphore, 1, NULL);
    }

    классика жанра

    Aleskey, 30 Марта 2011

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

    +161

    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
    class SomeClass
    {
    public:
    	__declspec(dllexport) SomeClass(UINT i_Width, UINT i_Height, UINT i_Lines, float i_Result, bool i_bAutoFill = false, и т.д. еще штук 5);
    	__declspec(dllexport) SomeClass::~SomeClass();
    
    	__declspec(dllexport) void setCallbackFunction(void	(*i_pCallbackFunction)(SomeClass* i_pSomeClass)) { m_pCallbackFunction = i_pCallbackFunction; };	
    	__declspec(dllexport) bool isFinished() { return m_bIsFinished; };
    	__declspec(dllexport) void clear() { m_ResultData.clear(); };
    	__declspec(dllexport) bool save(const char* i_sFilename);
    
    	...
    
    private:	
    	bool createThread();
    	void initWork();	
    	void loopWork();
    	void stepWork();
    	void exitWork();
    
    	static UINT WINAPI workProc(LPVOID lpContext);
    
    	inline bool someInlineFunction(UINT i_Index);
    	...
    	
    private:
    	HANDLE				m_ThreadHandle;
    	bool				m_bIsFinished;
    	bool				m_bThreadStopped;
    	bool				m_bThreadClosed;
    	vector<SomeType>	m_a...; 
    	string				m_sFilename;
    	
    	void				(*m_pCallbackFunction)(SomeClass* i_pSomeClass);
    	
    	...
    };

    Это краткий пересказ того, что шло вместе с DLL, только длиннее и с комментариями к каждой строке и доксигеновской докой!

    Aleskey, 30 Марта 2011

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

    +161

    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
    /////////////////////////////////////////////////////////////////////////////
    #define TWAIT(_WAIT_EXPR_, _TIMEOUT_)	TWAIT_EX(_WAIT_EXPR_, _TIMEOUT_, 0)
    #define TWAIT_(_WAIT_EXPR_, _TIMEOUT_)	TWAIT_EX_(_WAIT_EXPR_, _TIMEOUT_, 0)
    /////////////////////////////////////////////////////////////////////////////
    #define TWAIT_DECL_VARS														\
    	DWORD TWAIT_START = GetTickCount();										\
    	bool TWAIT_RET = true;													
    /////////////////////////////////////////////////////////////////////////////
    #define TWAIT_EX(_WAIT_EXPR_, _TIMEOUT_, _ABORT_)							\
    	DWORD TWAIT_START = GetTickCount();										\
    	bool TWAIT_RET = true;													\
    	do {ProcessMessage(1);													\
    		TWAIT_RET = GetTickCount() - TWAIT_START < (DWORD)(_TIMEOUT_);		\
    		if( !TWAIT_RET ) break;												\
    		if( _ABORT_ != 0 ) { TWAIT_RET = false; break; }					\
    	} while( (_WAIT_EXPR_) == 0 );
    /////////////////////////////////////////////////////////////////////////////
    #define TWAIT_EX_(_WAIT_EXPR_, _TIMEOUT_, _ABORT_)							\
    	TWAIT_START = GetTickCount();											\
    	TWAIT_RET = true;														\
    	do {ProcessMessage(1);													\
    		TWAIT_RET = GetTickCount() - TWAIT_START < (DWORD)(_TIMEOUT_);		\
    		if( !TWAIT_RET ) break;												\
    		if( _ABORT_ != 0 ) { TWAIT_RET = false; break; }					\
    	} while( (_WAIT_EXPR_) == 0 );

    lambdas, functors... макрос - это наше все... а ProcessMessage(1) тоже радует.

    Aleskey, 30 Марта 2011

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

    −91

    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
    Функция СравнитьЭлементыСправочника(Элемент1, Элемент2, фЗаписатьРазличия=0) Экспорт
    	Перем Рез;
    	Рез = 0;
    	Если (Элемент1 <> Элемент2) и (фЗаписатьРазличия=0) Тогда
    		Рез = 1;
    		Перейти ~М1;
    	КонецЕсли;
    	
    	// сначала проверим код и наименование 
    	Если (Элемент1.Код <> Элемент2.Код) Тогда
    		если фЗаписатьРазличия=1 Тогда
    			ЗаписьЖурналаРегистрации("изменен код с '"+СокрЛП(Элемент1.Код)+"' на '"+СокрЛП(Элемент2.Код)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
    		Иначе
    			Рез = 1;
    			Перейти ~М1;
    		КонецЕсли;	
    	КонецЕсли;
    	
    	Если Элемент1.Наименование <> Элемент2.Наименование Тогда
    		если фЗаписатьРазличия=1 Тогда
    			ЗаписьЖурналаРегистрации("изменено наименование с '"+СокрЛП(Элемент1.наименование)+"' на '"+СокрЛП(Элемент2.наименование)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
    		Иначе
    			Рез = 1;
    			Перейти ~М1;
    		КонецЕсли;	
    	КонецЕсли;	
    
    	// == тут было код который удалил автор поста	==
    
    ~М1:	
    	Возврат Рез;
    		
    КонецФункции

    Внезапно нашел такую функцию неизвестного автора :)

    CYFiVE, 30 Марта 2011

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

    +179

    1. 1
    2. 2
    3. 3
    4. 4
    ClassName::~ClassName()
        {
        memset( this, 0, sizeof( *this ) );
        }

    Написано коллегой из теплой страны. Случайно нашел в коде :)

    Mintel, 29 Марта 2011

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

    +115

    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
    columnDomain.Visible =
     (grid.MainView.RowCount >
    0
    &&
     !String.IsNullOrEmpty(
         ((ListItem)
      grid.MainView.
         GetRow(0)).Domain)
    &&
      ((ListItem)
     grid.MainView.GetRow(0))
          .Domain !=
     ((ListItem)
     grid.MainView.GetRow(0))
         .DisplayName);

    Это реальное форматирование кода, очевидно сделанное для удобства чтения на узком и высокои мониторе :) И такого многие и многие экраны

    eval_2009, 29 Марта 2011

    Комментарии (17)
  8. JavaScript / Говнокод #6124

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var begin_h = html.indexOf("<h1 class=\"header\">");
    var end_h = html.indexOf("</h1>");
    var data = "";
    if (begin_h != -1 && end_h != -1) {
      data = html.substr(begin_h, end_h + 5); //5 - это длина тега </h1>, чтобы его тоже захватило
    }

    Прелесть, найденная на гугл-ответах. Человек пишет расширение для Firefox.

    Vindicar, 29 Марта 2011

    Комментарии (15)
  9. Perl / Говнокод #6123

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    sub removeSpaces {
      my $str = $_[0];
      while ( $str =~ /[\t ]+/ ) {
        $str = $`.$';
      }
      return $str;
    }

    Найдено при разборе скрипта подготовки данных для тестов.

    Dimio, 29 Марта 2011

    Комментарии (0)
  10. Куча / Говнокод #6122

    +138

    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
    uses crt;
    var c1,c2,c3,k,s:integer;
    begin
    clrscr;
    s:=0;
    for c1:=1 to 9 do
    for c2:=0 to 9 do
    for c3:=0 to 9 do
    k:=c1*100+c2*10+c3+k;
    if (k mod 5 =0) then writeln('LOADING...');
    else if (k mod 7 = 0) then writeln('LOADING...');
    else s:=s+k;
    writeln('Obshie symaя=',s);
    readln;
    end.

    Вот как можно посчитать количество всех трехзначных чисел, которые не делятся на 5 или 7.

    wiapsy, 29 Марта 2011

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