那些年写过的最蠢的代码

好多好多年的码农,来记录一下好多好多年前写下的蠢蠢的代码

1.萌新语言混乱

        那还是IE6的年代,那还是model1的年代。jsp打天下,在里面掺杂着css、html、javascript、java等多种语言。才入职的萌新接到了第n个需求。要求将table中的row隔行换色,用javascrip实现。开心的写下了类似如下的代码。

  乍一看逻辑没问题吧,但是就实现不了要的效果。请来老师傅调试了两小时.....

  javascrip里面没有int,没有任何一个时刻那么恨弱数据类型.......

2.不讲武德大乱斗

        后来吧,大家觉得jsp太弱比了,出现了model2,mvc啥的。各种设计模式开始各种露头,前端影响最大的莫过于jQuery的出现。一个$('#id')太帅了有么有。俺也想用jQuery啊,但是项目组架项目经理不让添加jQuery库啊,只允许使用YUI。于是在小小的公共js里添加了小小的一行代码。

function $(id) {
    return document.getElementById(id);
}

var id = $("id");

     终于有一天,项目经理扛不住大家的呼声,准备集成jQuery。但是他不知道我上面代码的存在^_^.于是诡异的一幕出现了,$('#id')死活取不到值。项目经理开始加班集成jQuery。两天后项目经理无奈的说,大家用jQuery的时候,取值的时候不要用$符号,用 jQuery('#id')。

     后来过了有半年,有个小孩来接我的班。他看代码的时候问我。为啥别人代码里jQuery取值都不用$符,而你用$符?我给他留下了一个神秘的笑...

    多少年以后,老项目经理联系到我(找到我那段代码了)....

3.又见死循环

         后来model2越来越成熟了,ssh大行其道。hibernate多爽啊,不用写sql实现增删改查。但是实际情况吧,推崇不写sql的hibernate的我感觉挺傻的,谁家的业务就让你写单表的增删改查啊。接到一个需求,当某工单状态变为xx的时候,更新相关其他工单的状态为xx 。

//源代码肯定是没了。大概就这么个意思
List ids = Hutil.exceuteHql("select xx.id from xx where xx.status=?",xx);
String updateHql="update xx set status=2";
if(ids.size()>0){
    updateHql =updateHql+" where xx.id in"+StringUtil.list2String(lds,',');
}
Hutil.exceuteHql(updateHql);

   懂代码的大概都看明白了,update数据没添加where条件。但是结果可能和你想象的不一样。因为程序本身是逻辑bug,不是程序bug,它是能运行的。测试同学在测试环境测试他都能正常用的(测试环境数据量小)。但是到生产环境,数据有几百万,update执行不动了...当运营人员点了保存按钮之后,就是无限制的等待....所有人一起等待(锁表,当时的数据库是Informix)..... 所有 业务都停了。大牛们其上,查了一天,终于找到这段代码....

4.一切为了甲方

        公司决定我能抗点事了,派到某地航天做外包项目。实现了一个奇葩的需求。代码放在那正常项目里,看起来就很蠢。需求是领导不会使用浏览器的刷新功能。要求在页面上添加一个刷新按钮,还要红色好找...




    


    

    

  大概是这样子

那些年写过的最蠢的代码_第1张图片

5.眼中有码心中无码

   那些年写过的最蠢的代码_第2张图片

你可能感兴趣的:(javascript)