本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。
【资料图】
比起什么程序员删库跑路,我更喜欢「写出让同事难以维护的代码」,因为即使不能「名垂千古」,至少VCS可以帮你「遗臭万年」。
本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。
说回正题,前几天在家附近的一个小学校旁边散步,突然听到某个学生说“上学期我是‘三好学生’,xxxx”。想了想,学生有“三好”,那么程序员“三好”是什么?
我认为程序员的“三好”是「好用」,「好看」,「好改」。这个是说程序员的代码:
要正确且健壮,就是好用;
要可读性高,易于理解,就是好看;
要方便扩展和改动,就是好改;
平时不少文章都在聊“三好”的正例,今天理一些「好看」的反例,希望给读者一些启发和印象,避免编码中的一些问题,争取做个“三好程序员”吧。
教你如何挑战维护者
容易输入的变量名
比如:Fred,asdf单字母的变量名。比如:a,b,c,x,y,z(如果不够用,可以考虑 a1,a2,a3,a4,….)
有创意地拼写错误
比如:SetPintleOpening, SetPintalClosing,这样可以让人很难搜索代码。使用缩写和拼音
比如:WTF,RTFSC …… (使用拼音缩写也同样给力,比如:BT,TMD,TJJTDS)
论注释的重要性:不然我以为是「驾校」是一类重要客户,要有单独的helper
嵌入式文档之殇=注释
不要盲目修改,注意理解!!!
注意理解,你会发现其中的不同点……
「注意理解」之后,意外出现了……
程序回忆录
long~ long ago~【狼,狼,啊狗】
千万注意something
实在不知道注意什么……
用注释保留一些秘密
教教你怎么用数组
无所不能的多维数组
如果你觉得二维、三维还不足够,你可以试试四维。
仔细品一品,这个排版和换行可以教你快速数下标的方法:行号-44,比如“常驻工作城市”的下标就是25。
想清楚下标了再调用
一切皆对象,数组也是对象,用就是了
对象?"类"觉不爱
员工服务的四胞胎:俩哥哥service,俩妹妹helper;
——「木兰辞」:"四"兔傍地走,安能辨我是雌雄雄雌;
开胃菜:if-else
巨大的processor。写一个 processor,然后让你的所有的 consumer 类都使用这个 processor,这样你可以在这个 consumer 中整出一大堆 if…else… 语句,相当的刺激。
当return和不return混杂在一起的时候,这份刺激中又多了些惊喜……
大菜:「海鲜拼盘」
下面这个600行的方法让我学会了「截长图」
这是个switch-for-if-continue-return组合,很能理解「作者实在没法把break和goto加进去」的苦衷。
——报告老师:“第四章我已经掌握了”
接下来见证遗迹的时刻……
建议:多来来回回的读读这段代码,有助于锻炼眼球灵活性,并且能有效抵抗颈椎病
看一遍,想一下,case 0的时候返回啥?脖子有没有舒服点儿?
认知升级
GrayService是个灰度服务,corpId是企业ID,那么通过一次灰度放量,在脑壳里执行一下程序,就可以完成认知升级。
CV工程师佳作
克隆和拷贝。为了效率,你要学会使用 copy + past,你几乎都不用理解别人的代码,你就可以高效地编程了。
包装,包装,再包装
把你所有的 API 都包装上 6 到 8 遍,包装深度多达 4层以上,以便找到足够多相似的东西。
业务是否复杂,这不重要;重要的是1,2行代码的封装也是要的,不包个8层封装,怎么能说明理解分层了呢?
还好我一屏就可以看完整个链路
想必是个核心类
再多引用几个类,我还能干更多事!请大声唱:我真的还想再包500类——《康熙王朝》。
羊大为美
中国人喜欢大,都是“越大越好”,大房子,大车子;而现代中国人总把‘大”放在高位,把‘大”作为对于一个事物最高的评价。像大人,大神,大圣,大仙,大中国,和别人介绍起自己的家乡都会加上“大”字作前缀。所以,从古至今,大始终贯穿着人们对于美好事物的遐想。
我想说还有大类,大方法:
不要过早的return或continue,要「V型」
V型激起我写代码的欲望。
跟左边的深V相比,右边的就太差了,行数竟然变多了。
一张图,一颗心,一场仗 + 一张网
一张网就是「码网」。渔网是打鱼的,码网是打码农。
上图「包Cyclic」:Calculates the number of packages which each package directly or indirectly depends on, and which in turn directly or indirectly depend on it.
下图「类Cyclic」:Calculates the number of classes or interfaces which each class directly or indirectly depends on, and which in turn directly or indirectly depend on it.
Note:Such cyclic dependencies may result in code which is difficult to understand and test.
翻译:能看看,不能看拉倒
标签:
精彩推荐
本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程
新华社沈阳6月27日电(记者于也童)近期,全国多地陆续迎来高温天气,
599元 月起!联通2000M宽带网速实测:真实上下行速度来了
以下是新文退在北京时间6月27日14:43分盘口异动快照:6月27日,新文退
相信大家对哈弗h1手动挡变速箱油多久换一次,哈弗h1的变速箱油多久更换
长江日报大武汉客户端6月27日讯(记者章胜)6月26日晚间,在哔哩哔哩(
1、铅森尘打开相关页面,在图示位置通过梯形图输入确定春雀MOVK5D0。2
停工近4年!福晟佛山首盘3亿起拍,全国资产大甩卖!,福晟,佛山,公馆,黄
证券时报e公司讯,从一品红(300723)获悉,公司参股公司分迪药业提交的
[爱卡汽车行业新闻原创]杭州市人民政府办公厅和杭州市交通运输局分别印
“内部指标”?“计划外招生”?“军校招生”诈骗要警惕
张本美和4-2夺冠,申裕斌错失2连冠北京时间6月26日消息,2023WTT常
“刘师傅,这周的安装进度怎么样?”“放心,又快又好!”仲夏时节,万
在CorticalLabs,首席执行官钟宏文(HonWengChong)和他的团队已经在电
以下是奥飞娱乐在北京时间6月27日09:35分盘口异动快照:6月27日,奥飞
,2023全球数字经济大会将于7月4日至7日在北京国家会议中心举行。本届
个人建议,永远“服从调剂”,尤其当你的分数远高于一本线时。当你的分
App6月27日消息,高通技术公司昨日宣布推出第二代骁龙4移动平台,为首
“这家店推出的这个套餐太值了,小伙伴们有时间一定要来尝尝”“味道太
关注 ▲射频美学 ▲ , 一起学习成长这是射频美学的第1305期
资讯News
06-20
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
11-03
聚焦Policy
当好农民工的“护薪人” 近日,罗某等7名农民工在收到被拖欠的工资后,纷纷打电话向江西省南昌市...
“通讯录里所有人都知道我欠钱了” □ 本报记者 韩丹东 □ 本报见习记者 张守坤 ...
大连宝马车撞人案肇事司机被判死刑 本报讯 记者韩宇 10月29日,辽宁省大连市中级人民法院一审...
医院财务迷上网络赌博输光5000万元公款 □ 本报记者 马维博 □ 本报通讯员 汪宇堂 曹...
辊环车削 雕琢毫厘(工匠绝活) 【绝活看点】 23年来,雷虎始终扎根一线,改进钢材轧制工艺...
交警严查超标电动自行车挪用“白牌” 截至昨晚6时,处罚电动自行车违法行为共计6585笔;下一步将...
明起寒潮来袭 北方气温普降10℃以上 中央气象台预计,本周日北京平原地区最低气温降至-4℃左右...
多种蔬菜价格降幅达五成 包括菠菜、蒿子秆等 预计本月中旬蔬菜恢复供需平衡 本报讯(记者...
北京周日最低气温或达-4℃ 本报讯(记者 赵婷婷)北京青年报记者昨天从中央气象台获悉,新一股...
昌平一家四口确诊新冠肺炎 天通北苑第二社区升级为中风险地区 朝阳两涉疫校区及16所学校停课 ...