盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊。我那可爱的书架读懂了个人心思,很明事理的保护起来这本小可爱,不曾让它与我牵手程序员
最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句“这是什么XX代码啊,真XX难改”,这样持续了好几天,有天晚上坐在书房回想这几天发生的一切,仰头定睛思考,我终于和它从新确认了眼神设计模式
股票见涨你知道买了, 汽车撞墙知道拐了, 孩子死了你来奶了, 大鼻涕到嘴你知道甩了, bug难改知道愤慨了函数
立刻翻开书,前言章节,映入眼帘的就是下面这一张图工具
代码质量的惟一有效度量是:WTFs(what the fuck)/minute学习
真的太精辟了,这不就是这几天我白天经历的吗?代码已然是 bad code 了,咱们应该怎么面对这种状况呢?插件
每一个公司的规范还不同,本文是读书笔记,不会说明太多的代码规范,只是阐明咱们应该怎样作或者抱着什么样的心态来写代码吧设计
若是你看到这里,我要引用书中的一句话:代码规范
第一,你是个程序员;第二;你想成为更好的程序员。咱们须要更好的程序员code
作国内项目/产品,一般都是指明deadline的,可是截止到deadline以前,需求量的多少是不固定的,说白了是“以deadline不变应需求万变”,美其名曰「敏捷」blog
咱们常常要面对短时间内开发出大量需求的请求,极可能为了快速完成这些需求,胡乱的堆叠代码,上线以后一声长叹庆幸这个功能开发的结束。过了很久,有关这个功能的需求有所变化,从新查看代码时,直接就 WTF 了......,再一看是本身写的,你说尴尬不?
若是是由于任务多胡乱叠加代码,咱们就应该在接受需求的时候提出咱们的见解:
过多的需求在短时间内上线的代码质量不能获得保证
假如你是医生,病人要求你不用洗手就能够给他作手术,由于洗手浪费时间,你会答应吗?医生绝对会拒绝,由于你比病人更了解疾病和感染的风险。若是医生照作,那是绝对不专业的作法
做为程序员,若是听从了不了解混乱风险经理的意愿,也是不专业的作法
“你觉得能够不听经理的?不听经理的,是会被炒鱿鱼的”,经理可否听的进去,咱们都要提出咱们的见解。提出屡次还被无视,也不要灰心丧气,继续提出咱们专业的见解... untile die, 为了部落
若是你有底线,守住就好;若是没有,适应就好。只为好久以后看到代码说 WTF 时,避免主角是本身的尴尬
Javadoc 中的@author
字段告诉咱们本身是什么身份,咱们是做者。若是类上没有标注日期和做者,alibaba代码检查工具会给出提示,就像这样:
这里建议你们在 IDE 中安装该插件,若是你不知道做为做者应有的规范,那就让这个插件辅助你吧
据统计,读代码与写代码花费的时间比例超过 10:1
, 由于咱们在写新代码时会一直在读旧代码,项目越到后期这个比例越明显
咱们是做者,就有责任和读者作好沟通。每次写代码的时候,记得本身是做者,要为评判你工做的读者写代码.
这些读者多是你如今组内的伙伴,也多是未来要接管你的任务的新伙伴,避免别人嘴里 WTF 的主角是你,按期 Review 本身的代码,你定会发现能够改善的地方,好比用策略模式更改过多的 if else等,代码整洁了,又学会了设计模式,岂不是一箭双鵰
不少朋友说,我也想写出整洁的代码,可是目前实力不容许啊。
写出整洁的代码的功力不是一蹴而就的,须要持续不断的学习和修正
学会设计模式,了解 RESTful 接口规范,了解命名规范,注释,函数大小等等太多的东西都是书写出整洁代码必不可少的知识,咱们该怎么办?
还记得小时候写做文的词藻不够用,老师让摘抄好文好句。若是程序写的不够整洁,咱们能够慢慢学习和模仿好的写法与设计,慢慢改善和积累,有朝一日确定能写出高分做文的
不要说如今的代码很烂了,不必再改善了,若是你是这样的心态,即使一个全新的项目开始让你去作,你也极可能会成为第一个打碎玻璃,带来破窗效应的人。
若是严重一点说,你们都知道你写的代码带给别人的是一种负担,你可能很难有开始一个全新项目的机会了
若是同事因改善你的代码带来了一些意外的影响,请你不要抱怨甩锅,这些改善就是修复玻璃的开始,终将会给团队带来极大的好处
编写整洁代码的路途漫漫,咱们一块儿求索,推荐你们看下面这两本书,你必定有有本身的发现,让咱们悉心照料咱们写的每一行代码
欢迎在留言区讨论,大家项目中的状况,你是怎么看待代码整洁这个问题的