查看原文
其他

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

知乎答主 Java后端 2022-11-04

点击上方 Java后端,选择 设为星标

优质文章,及时送达

作者 | 知乎答主

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


我去哭一会去。


青苔 的分享



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


虎耳 的吐槽


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


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



【END】

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「web_resource」,关注后回复「进群」或者扫描下方二维码即可进入无广告交流群。
↓扫描二维码进群↓




读 
1. 3 分钟带你彻底搞懂 Java 泛型背后的秘密
2. 聊一聊前后端分离项目中权限数据库的设计
3. 来,手撸一个简版 Redis(附源码)
4.  MySQL 用 limit 为什么会影响性能?

5.  团队开发中 Git 最佳实践

在看 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存