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

    +153

    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
    function showAddForm(node)
    { 
          if(node.attr('e_control') == 1)
          var strOK = "addProduct(\""+node.attr('e_id')+"\",\""+node.attr('e_control')+"\",\""+node.attr('e_name')+"\",\""+node.attr('e_size')+"\", $(\"#count_product_form\")[0].value, $(\"#control_product_form\")[0].checked, \"" + node.attr('e_code') + "\");";
        else
          var strOK = "addProduct(\""+node.attr('e_id')+"\",\""+node.attr('e_control')+"\",\""+node.attr('e_name')+"\",\""+node.attr('e_size')+"\", $(\"#count_product_form\")[0].value, 0, \"" + node.attr('e_code') + "\");";
      
      $('#product_add_window')[0].innerHTML = "<div style='width:100%;text-align:right;font:10px Tahoma;color:blue;'><a href='#' onclick='$(\"#product_add_window\").hide(); return false;'>закрыть</a></div>";
      $('#product_add_window')[0].innerHTML += "<div style='padding:5px;width:100%'><u>Наименование:</u><span style='padding-left:5px;'>"+node.attr('e_name')+"&nbsp;</span></div>";
      
          $('#product_add_window')[0].innerHTML += "<div style='padding:5px;width:100%'><u>Типоразмер:</u><span style='padding-left:5px;'>"+node.attr('e_size')+"&nbsp;</span></div>";
      
          if(node.attr('e_control') == 1)
          $('#product_add_window')[0].innerHTML += "<div style='padding:5px;width:100%'><u>Ободная лента:</u><span style='padding-left:5px;'><input id='control_product_form' type='checkbox' value='"+node.attr('e_control')+"' checked /></span></div>";
      
        
      $('#product_add_window')[0].innerHTML += "<div style='padding:5px;width:100%'><u>Количество:</u><span style='padding-left:5px;'><input id='count_product_form' type='text' value='' checked style='background-color:#f6f6f7; border:1px solid #455064;' onkeydown='if(event.keyCode==13) {sstop=true; $(\"#focusOK\")[0].onclick();} event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);' onkeyup='this.value = this.value.replace(/[^0-9]/g,\"\");' onclick='event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);' />&nbsp;</span></div>";
    
      $('#product_add_window')[0].innerHTML += "<div style='padding-top:5px;text-align:right'><input type='button' value='ok' id='focusOK' style='width:50px;height:20px;font-size:11px;' size=5 onclick='"+strOK+"$(\"#product_add_window\").hide();'>&nbsp;<input type='button' value='Отмена' style='width:70px;height:20px;font-size:11px;' onclick='$(\"#product_add_window\").hide();event.stopPropagation ? event.stopPropagation() : (event.cancelBubble=true);'></div>";
    	  
      $('#product_add_window').show();
      setTimeout("$('#count_product_form')[0].focus();",200);
      
    }

    clauclauclau, 26 Июля 2013

    Комментарии (12)
  2. Куча / Говнокод #13477

    +124

    1. 1
    "(\{\{([#%$])([^:\}]+)(:([^\}]+))?\}\})"

    Регуляркоговно.
    Заменено на

    "(\{\{([#%$])(.+?)(:(.+))?\}\})"

    vistefan, 25 Июля 2013

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

    +9

    1. 1
    2. 2
    3. 3
    HRESULT hr = ReadGenericXMLFile(srcStorage, pagePath, result);
      if (hr == S_FALSE) return STG_E_FILENOTFOUND;  // File must exist
      if (FAILED(hr)) return hr;

    Могу понять, обратное, когда вызывающая функция просто возвращает "false" при любом неудачном вызове внутренней функции: нет файла / нет доступа / runtime error и т.д. Здесь же наоборот, при "общем" неудачном вызове внутренней функции возвращается "конкретное" сообщение об ошибке.

    Fogbit, 25 Июля 2013

    Комментарии (36)
  4. Java / Говнокод #13475

    +69

    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
    protected String getException (final Exception exception) throws IOException
    {
            final ByteArrayOutputStream bos = new ByteArrayOutputStream ();
            try
            {
                final PrintStream ps = new PrintStream (bos);
                exception.printStackTrace (ps);
            }
            finally
            {
                bos.close ();
            }
    
            return bos.toString ();
    }

    john812, 25 Июля 2013

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

    +17

    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
    struct c_log
    {
      template<typename T> const c_log& operator << (const T& value)
      {
          //...
      }
    };
    
    template<> const c_log& c_log::operator << <p_wstr> (const p_wstr& value)
    {
      fwrite(value, sizeof(wchar_t), wcslen(value), log_file);
      return *this;
    }

    LispGovno, 25 Июля 2013

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $yandexXML==false ){
       //...
    }
    elseif( $yandexXML==true ){
       //...
    }

    не ну а вдруг как бы че

    CRRaD, 25 Июля 2013

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

    +159

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function check_fio() {
      var space = /^\s/;
      var fio = $("#form_fio").val();
      var fio_length = fio.length - 1;
      if (fio[fio_length].match(space)) {
        fio = fio.substring(0, fio.length - 1);
        $("#form_fio").val(fio);
        check_fio();
      }
    }

    Казалось бы, удаление пробелов в конце строки, что может быть проще.

    newmindcore, 25 Июля 2013

    Комментарии (8)
  8. Python / Говнокод #13471

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try:
       while True:
           prices.remove(u"")
       except ValueError:
           pass

    Удаление пустых строк из списка.

    FlySnake, 24 Июля 2013

    Комментарии (16)
  9. Си / Говнокод #13470

    +142

    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
    // main.cpp
    #include <stdio.h>
    #include <stdlib.h>
    //...
    #include "tcp.h"
    //...
    #include "tcp.c"
    //...
    int main(int argc, char ** argv)
    {
    //...
    		receive_tcp_message(sock, &tcp_msg);
    		switch(tcp_msg.type)
    		{
    #include "cases.h"
    		default:
    			break;
    		}
    //...
    }

    Имелась небольшая утилита, написанная матёрым сишником. Имелся еще меньший шаблонный проект для таких утилит, написанный на плюсах с простым makefile. Таким вот нехитрым способом этот сишник влил первое во второе. Он не пользуется makefile, т.к. обычно пишет шелл-скрипт, собирающий весь проект. А еще он знает кучу анекдотов и историй, выпить не дурак и вообще отличный дядька.

    Xom94ok, 24 Июля 2013

    Комментарии (91)
  10. Си / Говнокод #13467

    +132

    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
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    #define max    0x08         //Max number of samples to average/filter
    #define byte unsigned char
    #define word unsigned int
    #define dword unsigned long
    
    #define FILTER 0
    #define AVG 1
    
    typedef struct  {
      word  reading[max];
      word  result[max];
    } ResultStct;
    
    
    static ResultStct x;
    static char samp = 0;//filter;
    const byte filter_mode = FILTER;
    
    extern int avg_result;
    
    void MYfilter(word input_sample) 
    {
      byte j;
      dword X;
        
    	x.reading[samp] = input_sample;
      
    	if(samp>0){
    
    		X=0;
    		for (j=0;j<=samp;j++){
    		  X += x.reading[j];
    		}
    		avg_result = (X >> 3) - 0x0200;
    		
    	} 
       
    	// Shift array of results if we hit max
    	if (samp >= max-1) {
    		for (j=0;j<max-1;j++){
    			x.result[j]  = x.result[j+1];
    			x.reading[j] = x.reading[j+1];
    		}
    		samp = max-1;
    	}
    	else 
    	{
    		samp++;
    	} //end if (i => max)

    Такой вот МОЩНЕЙШИЙ фильтр встретился в одном проекте.

    _113, 24 Июля 2013

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