先道歉,最近忙着发paper(也可能是季后赛的事儿),又一不小心拖更一个月,实在抱歉。
良好的代码风格,是一个合格程序员最起码的素质。
我们经常听说,如何让自己代码更加清晰易懂,如何写出干净漂亮的代码。
合格的变量命名规范,简明的注释,整齐的缩进等等一堆描述,但是这种东西看起来实在是尴尬,枯燥不容易接受。那么换个角度,如何让别人看不懂你的代码,如何让你的代码只有你能维护,可能更容易理解吧~
命名
获取用户上次登陆使用的设备,这个简单的名字
getUserLastTimeLoginDeviceUsed,先试试看打一句英文,这个不是最好的方式,把时态去掉效果更佳,再试着加点别的词儿
能看懂?
试试中英混合,getUserShangCiLoginSheBei,有没有感觉开始吃力了,别急,这样有点耐心还是能看出来的。
可以从英文下手,变点花样,单词首字母大写,然后随机选择某单词选取随意一个音节大写,然后再随机选择一个单词首字母不大写。
getUserTimeLoginDeViceused,到这一步,应该不太容易看懂啦
英文能做到的,中文也行吧,要不不用普通话,试试看方言?
getUserShangCiLoginseBei,别人看代码的时候应该也开始看不懂啦
别人嫌名字太长的缘故,非让改。
改就改 getULTLDU,来吧哥们儿,这个够短吧~
还是长? getA、getU、getD、b 这些呢,成了不~
驼峰式不让用?用下划线?
试试看’’,’’这两个来区分变量~
嫌没有自己的代码风格
可以试试看,在所有的变量前面统一加上niCaiA
另外,全局变量和局部变量,有机会重名的绝对要重名。一撸袖子就是干,尽量别使用局部变量,如果是个Java程序员,可以试试看用静态替换下,Cpp程序员可以狠狠心,创造2w个全局变量,如果起名24个字母不够用,试试英文词典,别管词义,能用就行。
注释
注释里可能需要一点社会工程学知识
有如下选择,别人看不懂代码的可能性依次增加
1、不加注释
2、加上注释,注释内容放一串所需解释代码的伪代码,再或者写一篇800字儿散文
3、写注释的时候记住,只描述操作细节,绝对不能描述功能
4、悄悄将两个注释换换位置~
5、更新代码的时候,一定要记住别更新注释
6、写注释的时候,悄悄的撒个谎~
再或者可以这么玩
for(int i=0;i<a.size(),i++){/*
If(temp!=0){ *有本事
a.add(tempA); * 猜啊
}else{ * 敢不敢别高亮显示
a.add(tempA+1); *
} */
tempA++;
}
函数
大约遵循以下几项原则
1、要不写一个一行代码的函数,要不就把它写到500行以上。
2、尽可能返回一个毫无描述的数组
3、删除代码中所有的断言,让debug过程尽可能指数形式的延长。
4、如果语言支持,尽情的使用’/’吧,把所有的变量全部错开行
5、支持某个功能,又默默支持若干诸如修改删除链表元素功能还未标注的函数什么的最棒了
6、函数的嵌套深度,如查一下所允许的栈深度,然后适当的缩小下就好了
7、别做任何检查和校验
缩进
统一左对齐,肯能是个不错的方法
或者
for(int i=0;i<a.size(),i++){
If(temp!=0){
a.add(tempA);
}else{
a.add(tempA+1);
}
tempA++;
}
这样也不错~
语言
如果代码写的好,啥语言都会,甚至纸带带孔都会。那么发挥的空间非常大了
能打孔解决的,绝对别上汇编。语言选择相关,均遵循这个原则。
当熟悉一个语言之后,然后又恰好看了看设计模式,可发挥的余地就更加丰富了。
实践出真知,懂没懂的先用上再说,慢慢的代码就开始变的丰富起来啦~
遗留的无用代码
遗留代码可是前辈们的沉淀,一旦发现,即使无用,马上自己想一个用处给它注释上。
可能IDE有检测功能,别慌,可以试着调用它,这样能唤醒一大片无用代码~
最后,记住,把Author 默默删掉,循序渐进修改代码,等它们慢慢分布到整个业务系统的各个模块,别急着上来就让别人看不懂,要不很容易被重构掉的,当然啦有一个志趣相同的小伙伴就更好了,可以拉他入伙,互相学习~
即使这样小心了,代码还是很容易被别人发现的。需要保持学习,可以试试多去看看那些未曾验证的博客,多去看看那些技术简介,冗长的技术概念。这样才更有实力也有可能去反驳那些质疑的人~
反面描述问题,希望能有所帮助~
网友评论