天天看點

你見過哪些操蛋的代碼?切勿模仿!

作者:知乎答主 zhihu.com/question/30776912

本文章展示的代碼的片段來自知乎的同名問答貼,舉出來一些反面例子,切勿模仿,就當輕松一刻了吧。

題主的補充

String result;
......
return result.toString();      

這種算嗎?大家盡情吐槽吧

Cyandev 的分**享**

if (m_doc->isModified() == true)
{
    for (int i = 0; i < 100; i++)
    {
        save();
//Save the document for 100 times to ensure it has been saved successfully.
    }
}      

不知誰寫的,總之我都看哭了。

侯傑 的分享

enum FiveLine
{
  Gold,
  Wood,
  Water,
  Fire,
  Earth,
};
      

枚舉

名字不知道五行(hang)是什麼鬼,看了枚舉内容恍然大悟,原來是五行(xing)……

李旭東 的吐槽

<div class="div1">
    <div class="div2">
        <div class="div3">

        </div>
        <div class="div4"></div>
    </div>
</div>

………

<div class="div27">
    <div class="div28">

    </div>
</div>

…………

<div class="div396">
    <div class="div397"></div>
</div>

…………

<div class="giveMeAFuckingClassName">

</div>      

白砂糖 的分享

// 以下所有left代表右
// 以下所有right代表左      

Kun Andy 的分享

public enum ColorType
{
  Green,
// 綠色

  Hong,
// 紅色

}

//......

this.curColortype= ColorType.Hong;
......      

毫無違和感!英語和漢語的激烈碰撞,一時愣是沒讀懂代碼,“Hong”為何物,你看注釋才恍然大悟!犀利

可能是綠的拼音(lv) 有點像等級,是以為了防止歧義,用了Green!贊一個!

程式員很可愛,我愛程式猿大家庭!

這些蘊含智慧的代碼是禮物也是驚喜!

可以幫你拉這麼多zan!感謝!

真愛身邊的程式員!

愛他們

孫傳武 的分享

有次看一項目源碼,注釋裡有個warning。

// warning: Do not make any changes here.
// I got confused why it can run successfully.
// PLEASE Do not make any changes before you figure it out.      

紳士提督不笑船 的分享

變量名

class UplaodDuiLie
// 上傳隊列
// Uplaod 非手誤,完全原文。
// 為什麼你們隻吐槽 typo 而不吐槽中英文混合呢。。      

myd7349 的分享

從長度上來說,完爆樓上各位的。感受下:

if(m_Str2.Find("'")>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find(':')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('/')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('!')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('@')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('#')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('$')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('%')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('&')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('^')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('*')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('(')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find(')')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('/')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('|')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find(':')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('[')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find(']')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('{')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}

if(m_Str2.Find('}')>=0)
{
    AfxMessageBox("您輸入的包含非法字元");
    m_Str2="";
    UpdateData(FALSE);
    return;
}      

哪怕不知道正規表達式,也該知道 FindOneOf 啊?!就是再不濟,也寫個循環吧。謹遵 DRY 原則的程式員看到這段代碼受到了 1024 Kg 的傷害。

當然,還有什麼:一個線程回調函數函數寫了 700 多行的事情咱就不說了。

一個小小的項目專門定義了名叫 Global.h/cpp 的檔案來放置全局變量咱也不說了。一個小小的項目中一二百個全局變量咱也不說了,這些全局變量中大部分還是指針變量咱也甭說了!!!

我去哭一會去。

青苔 的分享

你見過哪些操蛋的代碼?切勿模仿!

看見這段代碼的時候,我拍了很久的掌……

虎耳 的吐槽

曾經在一個家公司,有一次有人發現對每個請求,有個地方都會空等了一秒。

後來問老大,他說如果客戶有新要求,随時可以把性能提高一倍以上。

你見過哪些操蛋的代碼?切勿模仿!

繼續閱讀