当前位置: 首页 > 科技观察

代码是这样写的,老夫无奈啊!

时间:2023-03-14 12:12:13 科技观察

你见过最无奈的代码是什么?今天stackmanager就把我遇到的一些神奇的逻辑代码总结一下。可能不完整,但是我真的写不出来,真的很自卑。1.玩猴子的好方法。你还记得XX手机的抢购活动吗?抢购按钮的代码类似这样:结尾。.后来有人把这段逻辑挖出来,大家真的晕倒在厕所里了。幸运的是,我从不参与抢购手机。.就是在前端写死代码,给人一种抢购结束的错觉。其实根本就没有向服务器发送请求,要不休眠几秒就跳到抢购页面的末尾了。注意,每10次向服务器发送一次就很好了。是不是太好玩了?众所周知,为了提高服务器的承载能力,各种APP、网页等都会或多或少的加入前端缓存,但是上面的猴子代码也太不要脸了。2、猪一样的队友,有没有看到这样的代码:...上面的活动价格比原价还贵,真是哭笑不得。。。像这样的代码,有的程序员在评论里说明活动内容,或者放一些IP、端口、用户名、密码等敏感信息,等生产环境在评论里,方便随时切换……真是猪一样的队友啊。这样的程序员不被开除吗!?定时炸弹!3.最厉害的排序算法据说是月薪9K的Java程序员,因为老板让他写排序算法,然后他写了一个疯狂的蛰伏排序算法,然后被老板开除了...排序算法代码大概是这样的:完整版代码请看这篇文章:刚写完排序算法,打开了Except...排序是这样的,如果你不炒作,谁会被解雇?4.休眠的最高状态/***获取接下来几天的日期*@paramdays指定天数*@作者微信公众号:Java技术栈*@return*/publicstaticDategetNextDays(intdays){try{//指定睡眠天数Thread.sleep(days*24*60*60*1000);}catch(InterruptedExceptione){e.printStackTrace();}//睡眠后返回日期returnnewDate();}获取指定与冬眠约会?写完,我已经在厕所里笑晕了。..完整版解释请看这篇文章:刚写完这段代码,我就被解雇了……找不到借口离开?这并不容易。小弟把这个增强版发给你,复制这段代码,提交打包测试,等你下课。5、true为false,false为truebooleanisBoy=user.isBoy()==true?true:false;if(isBoy){...}else{...}布尔值可以直接用,你非要写一个三元表达式?年终绩效考核,代码量有没有KPI?还有这样的东西:if(xx1==true&&xx2!=true){...}else{...}和这个:if(xx1>xx2){returntrue;}else{returnfalse;}写得很优雅!6.Looplooplooploopfor(inti=0;i<1;i++){...}aloop也用循环,有一次刚好遇到这么一段,不知道说什么好。如果我要修改这段代码,我必须叫他坐在我旁边看修改。.for(;;){...}这样写的死循环,我们能看不出来吗?7、magicvalue的真正含义我在查看代码的时候发现代码中有很多magicvalues,请同事将它们定义为公共常量。结果来了这么一段:privatefinalstaticintZERO=0;privatefinalstaticintONE=1;privatefinalstaticintTWO=2;...看到上面的常量定义,真想打人,虽然魔法值没了,但是定义了一些无意义的常量,完全没明白修改魔法值的真正含义。脱裤子和放屁有什么区别?以上只是一个简单的例子,实际的审核情况远比你想象的要糟糕。8、看眼花缭乱的参数Orderorder=newOrder(orderNo,1678.13,"CNY",1,3,"wx",5,"1",0,"8",0,1,newDate());看到这段代码,我也醉了。我见过我的同事写过这样的代码。是他们赶时间,还是真的不会设计模式。一个构造函数参数能写那么多参数,更不用说魔法值了。长的让人一眼看去就觉得力不从心。9.消失的异常try{...}catch(Exceptione){}程序捕获异常,但不打印它。try{...}catch(Exceptione){e.printStackTrace();}错误是输出来了,但是没有输出到日志文件。try{...}catch(Exceptione){logger.info("...",e);}日志级别不对,在错误日志文件中找不到错误日志。上面各种不规范的写法,当生产环境出现问题时,一方面给排查问题带来困难;另一方面,监控系统无法及时监控到异常情况。10、神奇的if是最后一个,也是压轴的。.来,让我们一起来欣赏这个神奇的if代码:if(user.getFirstName()!=null)if(user.getMiddleName()!=null)if(user.getLastName()!=null)if(user.getNickName()!=null)if(user.getShortName()!=null)if(user.getFullName()!=null)if(user.getFamilyName()!=null)if(user.getEnglishName()!=null)...returntrue;returnfalse;这段代码够怪异的,它必须如此长且缩进如此分层,以至于if可以处理它。.总结写神逻辑代码的人才那么多,发现问题解决问题真的很难。