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

整理自知乎的同名问答贴。题主的补充:

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!赞一个!

!!!!!!!!!!!!!

程序员很可爱,我爱程序猿大家庭!

这些蕴含智慧的代是礼物也是惊喜!

可以帮你拉这么多赞!感谢!

!!!!!!!!!!!!!

真爱身边的程序员!

爱他们

孙传武 的分享

有次看一项目源码,注释里有个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;
	}

哪怕不知道 RE,也该知道 FindOneOf 啊?!!!!

就是再不济,也写个循环吧。

谨遵 DRY 原则的程序员看到这段代码受到了 1024 Kg 的伤害。

当然,还有什么:

一个线程回调函数函数写了 700 多行的事情咱就不说了。

一个小小的项目专门定义了名叫 Global.h/cpp 的文件来放置全局变量咱也不说了。一个小小的项目中一二百个全局变量咱也不说了,这些全局变量中大部分还是指针变量咱也甭说了!!!

我去哭一会去。

青苔 的分享

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

虎耳 的吐槽

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

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

欢迎各位猿媛们来补充咯~

发表我的评论

取消评论
表情 插代码

Hi,您需要填写昵称和邮箱!

  • 必填项
  • 必填项

网友评论6

  1. fiveline [偷笑]
    对不起 笑出来了声

    跑跑学韩语2016-05-16 17:08 回复
  2. 额,最后一个,无力吐槽 [神马]

    刀巴饕餮2016-05-16 17:27 回复
  3. 卧槽

    我叫大巴阿布2016-05-17 14:32 回复
  4. public int getRecordCount(){
    List<User> list = dao.getAll();
    return list.size();
    }

    PS:那张表的记录数大于一千万

    血锁人屠2016-05-23 11:42 回复
  5. nice!

    帅小伙2016-07-13 14:58 回复
  6. 最后一发简直机智,我仿佛看到了一条生财之道

    -2017-03-21 10:19 回复