这些操蛋的代码,你见过多少?

专栏 | 九章算法
网址 | jiuzhang.com

一个clean & strict的 coding habbit 是非常重要的。它不仅决定了你在面试中是否能拿到offer,也影响了你在日常工作中与同事的沟通、协作。

然而,在面试和实际工作中,我们总还是看到一些操蛋的代码。今天我就来给大家吐槽一下,我见过的那些操蛋的代码!!

v2-2fe09cdcc85813d33d7ac52400ca992a_b.jpg

case 1:命名不清

某天老板让A君实现给一个做算命行业客户的网站,由于易经里面有5行,于是A君变写了下面一段代码:

v2-215bc9dc8e3660de2ce032f477bbe2f6_b.png

请问里面的Jin 和Huo是什么鬼?你让review你代码的人去撞墙么。。。

另外,比较常见的还有函数、文件名等方面的命名也需要注意。比如以下的一段数据命名,真的让review和接手的程序员不知如何是好呀。

v2-c50f0e841b965fbcc779d934893b59be_b.png

case 2:废代码太多

有的人写代码时,废代码太多,明明用一句“return a”就可以搞定的,有的人写成了这样:

v2-0708ace9b76a9056b81ae1b5e462128e_b.png

这位工程师写了这么多行废代码是要称斤卖嘛?/(ㄒoㄒ)/~~ 面试官看到你这样的代码,心里肯定万马奔腾。怎么能跟你愉快地做同事呢?

而且a是什么鬼,就不能好好定义一下变量么?万年之后,谁知道你的变量a代表的神马鬼呢?


case 3:注释冗余

有的人在面试时,过分担心面试官看不懂他的代码。于是,注释写成了这样:

v2-96545e4fe432ff7cfc23ecef5ab006f8_b.png

尼玛,面试官是不识字还是咋滴,非得让你中英文翻译一下吗?

虽然以上这个例子是极端过分注释的例子。但是,注释冗余的问题,也应该引起同学们的重视。因为我们在面试中,常常见到求职者大把大把地写注释。其实面试官是非常反感的,因为只要你的代码是clean and clear的,面试官肯定能看的懂你的代码,你大段大段地写注释,反而有可能把面试官绕晕。另外,面试时建议“code loudly”,将你所担心面试官没看懂的部分,用语言与面试官沟通。


case 4:无用的条件判断

有的人在面试时思路不清楚,常常写一些无用的条件判断,比如:

v2-1a1f5dd7327098f5cdd6b9b8b1bfef9a_b.png

这段断码是几个意思?为了站位用么?还是为了增加代码量?


那么,怎么样才能够有一个比较好的代码书写风格,写出规范的代码呢?

下面,我们就简单说说,一个好的代码风格需要注意的几个重要的小点:

Point 1:通用命名规则

函数命名,变量命名,文件命名要有描述性;少用缩写。尽可能给有描述性的命名,别心疼空间,毕竟让代码易于新读者理解很重要。不要用只有项目开发者能理解的缩写,也不要通过砍掉几个字母来缩写单词。


Point 2:函数命名

函数命名: 常规函数使用大小写混合, 取值和设值函数则要求与变量名匹配: MyExcitingFunction(),


Point 3:类型命名

类型名称的每个单词首字母均大写, 不包含下划线: MyExcitingClass


Point 4:类注释

每个类的定义都要附带一份注释, 描述类的功能和用法。


此外,还有很多需要注意的代码风格问题。有兴趣的同学, 可以参考 Google 官方发布的代码风格指南:t.cn/zYyr2gd

欢迎关注我的微信公众号:九章算法(ninechapter)。

精英程序员交流社区,定期发布面试题、面试技巧、求职信息等。

aHR0cDovL3dlaXhpbi5xcS5jb20vci9zVVBsLVlURVM5azByY0NlOXhhag== (二维码自动识别)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值