昨天发布了一条微头条,内容是这样的:
一朋友是做软件开发,最近收到一家外包公司的offer,到广州某知名银行驻点办公,上班时间朝九晚六。
HR说,办公电脑不能上外网,开发过程如果遇到要查资料只能通过手机查。
工作发邮件必须得用英文。
项目沟通用粤语或是英语沟通。
朋友上网了解了下,有人说银行外包项目很少有完整的文档,要是接手别人的项目,排查问题会很费劲。
不知大家有没有遇到类似的,有什么好建议。
今早起来,评论区挺热闹的,其中有两个地方特别有意思,分享给大家:
不少读者一眼就就猜测出是哪家银行
吐槽代码质量不好。
对于第一点,真的很佩服读者,没想到在信息量这么少的条件下,竟然能第一时间就能推测出是哪家银行,要知道广州这么多家银行。我自己都记不起是哪家银行,有点尴尬了。印象中只记得是工作邮件必须得用英文,工作交流最好是用英文或是粤语。其他就没有了。
对于第二点我觉得更有意思。有个别读者吐槽配图代码质量不好,看了相关评论我有点哭笑不得,这里我把个人想法和大家分享下。首先声明下,这个代码不是出自于本人。
读者吐槽点,我大致归纳下:
if else 太多
代码逻辑不清晰
代码质量堪忧,重复太多,可读性差
说if 多的,可能是平时受业务逻辑if else 影响,一看到有多个if 就立马否认了。有点太敏感了吧。这是数据结构,不是业务逻辑。
有几个if 判断不是一件很正常的事情吗?
说代码逻辑不清晰,估计他自己看都没有看清楚。
说重复太多的了,估计这段代码有几个变量他自己都不知道,更别说这段代码具体用处是做什么了。
最后我想说,没经过自己独立思考的事情,别轻易下结论。避免受从众心理的影响,别人说什么,自己没有思考,就急着跟风了。
凡事不要看表面,要是能更进一步深度思考就更好了,并不是if一多就需要吐槽,也要具体是在什么场景下,保持自己的独立思考能力,对你的前程发展或多或少都会有所帮助。
关于配图的源码出处是HashMap源码
1
4 static <K,V> boolean checkInvariants(TreeNode<K,V> t) {
5 TreeNode<K,V> tp = t.parent, tl = t.left, tr = t.right,
6 tb = t.prev, tn = (TreeNode<K,V>)t.next;
7 if (tb != null && tb.next != t)
8 return false;
9 if (tn != null && tn.prev != t)
10 return false;
11 if (tp != null && t != tp.left && t != tp.right)
12 return false;
13 if (tl != null && (tl.parent != t || tl.hash > t.hash))
14 return false;
15 if (tr != null && (tr.parent != t || tr.hash < t.hash))
16 return false;
17 if (t.red && tl != null && tl.red && tr != null && tr.red)
18 return false;
19 if (tl != null && !checkInvariants(tl))
20 return false;
21 if (tr != null && !checkInvariants(tr))
22 return false;
23 return true;
24 }
这代码水平,能开多少工资?有读者表示:写这个代码的 至少可以千万年薪。
值不值年薪千万我不知道,但我知道,这源码逻辑清晰。链表有了,递归也有了,没什么可挑剔的。
如果你对评论区的内容感兴趣,点击下面原文阅读。
-END-
往期推荐
面试了18家公司,终于找到工作,我把所有经验都分享给你
一个有故事的程序员
微信公众号:爱开发
微信号:hsp-88ios
更多精彩,请扫二维码