变量命名大部分都是 fuck,shit ,这程序员老哥是被命名逼疯,还是戾气太重?

最近一个工作4年的老同事离职了,领导让我接手维护他的功能并把代码交给我。

我拿到代码一看,变量命名大部分都是 fuck,shit 之类的粗话,甚至 for 循环用于 break 的 label 也命名为 FUCK_FOREACH,JUnit 测试导出的文件也带有 Fuck 字样,而且通篇没有注释,应该就剩数据库的表命名没带粗话了。。。

我这里没有 code review,貌似领导也不知道,不知道那个老同事经历了什么,我的天!!!

你们会在代码里带粗话吗?

「 被命名逼疯的节奏 」

说真的,看到这些代码的时候,我下意识的揣测这位老哥,一定是被变量命名给逼疯了。

当你代码敲多了,就会深有体会,天知道变量名有多难取?!我绝大数情况下是不会用脏话的,不管是调试代码还是注释,除非要用作很强烈的状语,比如:

var theList - 列表

var theLongList - 长列表

var theFxxkingLongList - 超 TM 长列表

如果逼到让我不得不夹带粗话来命名,我一般都会进行自我洗脑:命名最重要的是语义明确,执行的话不管用什么单词,编译后都只是地址而已。

我相信,曾经在代码里带过粗话的,不在少数。

很多程序员英语不好,有时候实在不知道该怎么描述的时候,比如://这段代码是用来干掉一个 bug -> just fuck a bug!

有时候遇到比较蛋疼又让人来火的 bug,调试时的日志中可能会写一些,但是一般问题解决之后,日志我都会删除。

命名有时候真的令人捉急,让人头大,情有可原。

「 小伙儿戾气太重 」

除了被命名逼疯,还有一类程序员,戾气太重,纯粹是为了宣泄。

我曾经见过一些程序员,在debug 打 log 的时候会写 wtf、fuck、shit - -。。。

我在想,这是对公司有多大怨念。说真的,看到别人将粗话写在注释里面的话,只要不影响阅读就没事儿。写在文档里面的话,就想掀桌子了。

当然,我也在猜想这些夹带在代码中的粗话,是在怎样的开发场景中诞生的,会不会是加班时的产物呢?也不一定。

之前忘了在哪看到,一个哥们半夜加班时,哭诉重构项目里的变量全是用食物命名的,此时当事人早已哭晕在厕所。

假如有负面情绪,就自我调整吧,别写进代码里。写进去可能就没劲了,被别人看到会感觉你这人戾气很重,不好相处。

再说,如果是为了效率,这种随便的字符串不都是 fsdfddaf 就完了,何必f**k呢?

说真的,变量命名这块儿,公司有规定按规定来,没规定哪那么多戏。

「 都成年人了,专业点好么 」

如果变量命名大部分都是 fuck,shit 之类的粗话,这就有点过分了。

说的严肃点,没有职业精神。

不得不说,开发过程,调试过程,思考过程有时候我也会写。但是,当思路梳理清晰后,我会重新起一个准确的命名。

有时候debug 的时候输出的调试信息会带 fuckXXX 的,但是 debug 完了自然就删了。这就没事,权当是程序员的自娱自乐。

其实我感觉脏话作为动词 /助词都没啥问题,毕竟不影响别人阅读代码。

但是作为名词或者句子就是很没水平的行为了,这种人就算不用脏话命名变量,估计也是拼音和 ABC。

个人感觉工作是工作,聊天是聊天,和关系亲密的朋友之间聊天的话,各种卧槽尼玛四不四撒怎么说都没关系,工作的话还是要以工作的态度来面对,像 fuck 这种表达感情的词写在注释中简直毫无意义,还不如精准的进行业务描述或者错误描述。

说到底,代码这东西,一个作用是让机器阅读,另一个重要的作用是让人阅读。一个好的变量名,能帮助阅读者了解变量的作用,也辅助了对整段代码的理解。

所以,不管你是新手还是老鸟,务必了解行业规范,切勿为了标新立异而违反规范。

我自己是一名从事了6年开发的老程序员,业余的时候在这里分享一些互联网资讯给大家,

原文地址:https://blog.51cto.com/14284898/2382913

时间: 2024-11-12 23:44:24

变量命名大部分都是 fuck,shit ,这程序员老哥是被命名逼疯,还是戾气太重?的相关文章

魔都,3年,程序员到CTO

过一个平凡无趣的人生实在太容易了,你可以不读书,不冒险,不运动,不写作,不外出,不折腾--但是,人生最后悔的事情就是:我本可以. – 陈素封 我可以 在来上海之前我看完了李华明老师写的<Android游戏编程之从零开始>特别喜欢他的铭言:"不要让任何事情成为你不去学习的理由!" 我来了,魔都! 2013年6月22号,当时怀满腔热血,踏上长达16个小时的火车来到了上海,一路坎坷的记忆至今亦可清晰可见(袋装泡面!硬座座位!晚点火车!) 面试! 来到了上海安置下来之后,我便开始投

每个程序员都应该用MBP

换笔记本的想法很久了,前段时间换工作就想看换工作之后是什么情况吧.可能工作配的笔记本就是MBP.后来发现是想多了,新工作的笔记本是Thinkpad X240, 配置完全够用了,8G内存+128G的FLASH.美中不足是需要外接显示器,否则用那个12寸屏编码太费眼了,而且一屏也没有多少行代码. 自己在家里有个可心的笔记本还是很重要的.在获得了某个女士的强力支持后,于7月13号下午在AppStore在线订购了一台,上限就是2w,感觉过了这个数对不起那么多银子似的. 赞一下官网的送货效率,7月15号上

很多.net 程序员不知道又非常重要的 .net高级调试技巧.调试别人的dll方法内的变量

事情是这样的, 最近需要开发Orcale的数据库. 于是使用了EF 加上 Oracle.ManagedDataAccess.Client 这个Oracle.ManagedDataAccess 很好用, 不需要orcale 客户端就能用. 但是这个类库有个地方不是非常好用. 数据读取出了问题,它的提示非常非常让人气愤. 啥调试信息都没有..只有一个提示 “类型转换异常”. 大家经常遇到的. InvalidCastException 异常就异常呗, 问题是查找问题的信息太少了. 我不知道是哪条数据导

程序员都很闷骚

假定: 程序员都是闷骚的 程序员有独特的搞笑方式 程序员80%都不满于现状,需要发泄 程序员都有一点色 所以: 子龙左手青釭剑,右手亮银枪,跨下白龙马,一身白盔白甲,帅到爆炸!如今我们左手xmind,右手eclipse,uml在脚下,也是无比潇(ku)洒(bi) 他们是喜欢的 亚美蝶,揍我不行,揍我小舅子可以. 他们是喜欢的 老板说:哎呀,我们方向错了,我们重新搞一个方向吧!(产品.码农.测试心中下起了大雪,好冷,好累,我要屎了,砍死他…….看在钱的份上,先饶你一条狗命) 他们是喜欢的 这更是程

@程序员,承认吧,都是你的错!

老读者都知道的,我没干过什么大事,无非就是敲敲代码.写写文章.还有就是及时吃饭.睡觉.打豆豆. 这不,就有个哥们看不惯我了,再见之后还要撂下这句狠话:"你这种人是干不了大事的." 好吧,我承认,都是我的错!我真没想过要干什么大事.我觉得打打杂,扫扫地挺好的.我估计我来到这个世界上的时候,父母也没对我抱太大的期望,否则清华北大没录取我这事会把他们气疯掉的.事实上,即便我只考了个大专,他们仍然没有抛弃我.放弃我. 不知道大家有没有看过<西西里岛的美丽传说>,漂亮的女主人公(女神

关于变量的知识都在这里了,不看后悔终生!

前两天有一个朋友问了我4个问题,如下: 1.什么是变量?2.变量有哪些分类?3.环境变量是什么?4.普通变量是什么?5.写好变量的要求和标准有什么? 由于他忘性比较大,所以我简单整理做成了一篇博客,让他每天早晚看一遍,ready go! #1.什么是变量? 简而言之就像我们小学学过的方程式,比如:x=1+1x就是变量名,=就是赋值符号,1+1就是内容,这就是一个简单的变量. #2.变量的分类变量分为4类:环境变量和普通变量,全局变量和局部变量开个玩笑,其实 变量分为两类:环境变量(亦称全局变量)

房价跌回一年前:最近一年买房的大部分都亏了

房价跌回一年前:最近一年买房的大部分都亏了 宏观经济一财网[微博]林小昭2014-10-24 13:34 我要分享 1055 最近出炉的房价数据显示,9月70大中城市房价全面下跌.(更多独家财经新闻,请加微信号cbn-yicai) 国家统计局24日发布数据,在70个大中城市中,9月价格同比下降的城市有58个,持平的城市2个,上涨的城市10个.涨幅最高的是厦门,上涨了4.9%,降幅最大的是杭州,同比下降了7.9%.环比则无一涨. 中原地产首席市场分析师张大伟认为,这样的数据表明,“最近一年,买房的

如何成为一个优秀的程序员(大部分写的都非常不错)——要勤快,不停的学习;争论是无意义的,不如把两种都学了,会更有收获。

在看这份FAQ之前,你必须先读完ESR的<如何成为一名黑客>(本文末尾附有中译版),该文所讲过的道理我不再重复.该文用很大的篇幅讲什么是黑客文化,虽然态度和信仰的确是成功的最关键因素,但是你肯定会想,做不做黑客跟我没关系,我只是想学个一技之长,找个好工作而已,对吧?那么肯定更希望获得一些具体的可操作的指导.     1.各种软件技术之间是怎样的关系? 我把软件技术分为三个层次:    问题域:计算机图形学.音视频编码.信息安全.模式识别.信息检索.自然语言分析.人工智能.科学计算等:     

C++笔记十三:C++对C的扩展——C++中所有变量和函数都必须有类型

C++中所有的变量和函数都必须有类型: C语言中的默认类型在C++中是不合法的! 在C语言里面可以写一些很奇怪的函数!并且可以运行成功! f(i)函数的返回值是什么类型?参数又是什么类型?我们赋值10居然可以打印出来! g()函数可以接受多少个参数?我们没有参数,但是函数调用时我们可以加上参数,并且运行成功! f(i) { printf("i=%d\n",i); } g() { return 5; } int main() { f(10); printf("g()=%d\n&