你在公司项目里面看过哪些操蛋的代码?

知乎· 2020-01-17

作者 | 知乎答主

来源 | 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.

绅士提督不笑船 的分享

变量名

classUplaodDuiLie
// 上传队列

// 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 的文件来放置全局变量咱也不说了。一个小小的项目中一二百个全局变量咱也不说了,这些全局变量中大部分还是指针变量咱也甭说了!!!

我去哭一会去。

青苔 的分享

你在公司项目里面看过哪些操蛋的代码?

看见这段代码的时候,我拍了很久的掌……

虎耳 的吐槽

曾经在一个家公司,有一次有人发现对每个请求,有个地方都会空等了一秒。

后来问老大,他说如果客户有新要求,随时可以把性能提高一倍以上。