代码界的“最悲催同学”都经历了什么?(附获奖名单)

oschina
 oschina
发布于 2017年03月14日
收藏 18

Java 开发规约发布后,我们举办了一场“我有礼品你有故事吗 —— Java 开发规约勾起了你什么样的回忆?”的讨论,很多同学说出了自己的悲催经历,我们从中评出了“最悲催同学奖”和“最佳评论奖”,先来看看获得“最悲催同学奖”的他们都经历了什么:

@substring

1.这坑就太多了,旁边一个哥们提交的代码给你们瞅瞅

        List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
        List<Map<String, Object>> mapList1 = new ArrayList<Map<String, Object>>();
        Integer hiddConred;
        Integer hiddConh;
        Integer hiddConl;
        
        Integer c = 0;
        List<Dept> deptList = deptService.queryDeptByPid(1);

		/* 获取情报分类列表 */
        List<AstDictionaries> listf = astDictionariesService.reclassification();
        for (AstDictionaries astDictionaries : listf) {
            Map<String, Object> map = new HashMap<String, Object>();
            c = c + 1;
            Integer sd = polIntelligenceService.huodefenlei(astDictionaries.getId());
            map.put("a" + c, sd);
            
            mapList1.add(map);
            
        }

2.记得第二年工作的时候经理给过一份类似阿里这样的代码规范,从此之后代码就美观多了

@Liuzh_533

前段时间发现新增菜单后显示不出来。。

看代码后发现同事在比较 parentId == id 的时候用的等号,一旦 id 超过128就开始悲剧了。

@notreami

boolean a=true;

boolean b=false;

while(a=b){

....

}

比较偏,就这bug,当年排查了好久。

@zb1482373596384

不清楚java的内存结构...

Integer i1=1;

Integer i2=1;

Integer i3=127;

Integer i4=127;

Integer i5=128;

Integer i6=128;

Integer i7=-128;

Integer i8=-128;

i1==i2 返回true  

i3==i4 返回true

i5==i6 返回true

i7==i8 返回true

最后发现 Integer直接赋值在-128—127不会新创建一个对象,超过才会去创建对象

@魰hui

看懂自己写的代码,特别是测试的代码(初学的时候),简直

int djsjd=8464;
int asd=54;

你见过吗?如此规范的代码,我估计没人看得懂除了当时的我

@最初幻想

之前公司用PMD、CheckStyle做静态代码检查,针对魔法数字一刀切,连正常的循环索引下标等数字都需要定义常量,有点画蛇添足之嫌,不过本人对具有业务含义的魔法数字和魔法字符倒是深恶痛绝!

@夜辰

一同事SQL根本没写对,还直接提交代码了。功能也没自己跑通,就找别人调试。SQL语句都没有输出,一开始还误导别人是程序逻辑错了,最后找了半天,是SQL语句写错了。

@小爷胡汉三

有的同志受不了代码后面多出来的空格,有时候纯粹是为啦重新编译而敲上的空格。我开发很久了,一直没发现这有什么毛病,直到后来,一个同事在改我的代码,几次代码整合都冲突了,我发现他一直在删代码后面的空格,一直删...我忍不住问了句,他说他受不了这种代码,还专门开启啦空格符跟换行符...我也是醉啦!!!

@gongweixin

log.error("aa{}bb{}", message, exception)

异常栈没有打出来,只打了个异常的名字在日志里

@滔哥

做为一名PHPer,维护着一个java后台并做二次开发。你告诉哪没有坑.....我第一天配置本地项目用eclipse和idea尽然折腾了一天没跑起来。。。第二天又折腾了半天才算将现有项目在本地demo了...

获得“最佳评论奖”的他们又有什么想说的:

@empireghost

日期格式化线程不安全,SimpleDateFormat是最常见的坑

@Nehway

java编程从业也有几年了,回想多年前刚开始接触java的时候真是感慨良多呀!

1.了解了定义变量,如String a="i love you",自学了集合类的时候Set<?> x=HashSet<>(),编译错误居然没有发现忘记了"new";

2.非常喜欢用Integer i=128,来刁难别人。

3.心烦的时候思考逻辑真的是一团糟呀一团糟

@debugable

发现别人代码里面的逻辑

if(xxxx){

}else{

    xxxxx

}

@Cobbage

"37".equals(abc) abc是个int类型的

最近遇到的 abc是个int类型的 随手就这样写了

@守望者翱翔

取对象从来不判空,运行的时候时不时来一个空指针。方法从来不写注释,用拼音哈哈哈。

@abcijkxyz

 -Dfile.encoding=UTF-8   URIEncoding="UTF-8"  charset=utf-8  pageEncoding="utf-8"  不想多说什么

@empireghost

  if (sq.getDistributorId().equals(distributorId)) {
                                ......
                        }

Long 类型与String类型 equals永远返回false

@创业是喝可乐

我都直接汉语拼音命名类的,咋滴

@聪聪小可爱

还是觉得复制粘贴靠谱一点,有些时候有强迫症,觉得这个单词很熟,结果换来的是很久的拍错

@lolcat

函数名:thisIsAMethodToRequestBackendData

以上获奖者将获得由阿里巴巴送出阿里鸡年公仔一个,请及时将联系方式及喜欢的鸡年公仔留言@两味真火

留言格式
姓名:xxx
地址:xxxx省xxxx市xxxx路xxxx xxxx
手机:xxxxxxxxxxx
公仔款式:xxxxxx(可从以下 5 款公仔中任意挑选一款):

从这二十位“最悲催同学”的经历看来,Java 开发规约确实给开发者带来的便利,当然开发者们也可以继续讨论其存在的必要性。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:代码界的“最悲催同学”都经历了什么?(附获奖名单)
加载中

精彩评论

404-网页不存在
404-网页不存在
我也特讨厌在代码最后加n多个空格或者tab的人,烦的一B,留那么多空格好吃吗?
柴可夫司徒
柴可夫司徒
TRUNCATE TABLE;
DELETE FROM TABLE;
UPDATE TABLE SET XX='';
rm -rf /
路人丁丁4
路人丁丁4
搞笑啊,在行尾加空格,看着就蛋疼,难道没有别的方法重新编译吗
C
Caballarii
eclipse环境搭不起来的哥们是来搞笑的吗
小雨樣
小雨樣
delete from table;

最新评论(22

1899
1899

引用来自“kangkangkf”的评论

TRUNCATE TABLE;
DELETE FROM TABLE;
UPDATE TABLE SET XX='';
rm -rf /
从入门到放弃跑路..
shitalpig
shitalpig
代码风格问题,在vs里绝对不会出现,同样代码可以在不同电脑更具不同设置,显示不同
一个灰
一个灰
Java真是丑陋
半世为仙
半世为仙
写PHP定义变量 var $i = 0;
路人丁丁4
路人丁丁4
搞笑啊,在行尾加空格,看着就蛋疼,难道没有别的方法重新编译吗
404-网页不存在
404-网页不存在
我也特讨厌在代码最后加n多个空格或者tab的人,烦的一B,留那么多空格好吃吗?
C
Caballarii
eclipse环境搭不起来的哥们是来搞笑的吗
OSC_vLJprj
OSC_vLJprj
new这么多干什么?
柴可夫司徒
柴可夫司徒
TRUNCATE TABLE;
DELETE FROM TABLE;
UPDATE TABLE SET XX='';
rm -rf /
产吅经理
产吅经理
上述所有问题,在 VS + ReSharper 绝对不存在出现。那么问题来了,到底IDE哪家强?
返回顶部
顶部