Code Style
现在的我是一个初入编程行业的新人,感觉自踏出校门以来最大的提升是编码规范。
校园里敲的代码,变量j, k, m, n随处可见,一个程序一个main方法完成。
工作以后这种风格会被同事砍死,为了避免这种下场,我读了clean code, 阿里编码规范,安装了google-style, sonar lint, 阿里编码插件。
像ali google code style里提到的一些规范就不再写了,多读多理解多实践。
总结下来提高代码质量的一些体会。
首先尽量消除所有的error 和 warning。
很多时候我们会忽视warning,或者说没有安装代码检查插件而导致根本没有出现,那其实代码质量就没有进步的空间。
要搞懂为什么会出现这个提示,best practice 或者 solution 是什么,优化消除它。当你的程序没有任何一个warning时,会获得代码提升而带来的满足感。
其次是代码结构。
从整体看有模块的划分,类属于哪个模块,方法属于哪个类,它们之间的依赖关系,这个可以领会下领域驱动设计。
从细节看有,命名见名知意,当你忘记这段代码重新review代码时还能根据方法名立刻理解功能。功能拆分方法,尽量满足单一职责,这样不会出席冗长的方法,便于复用。在一个类中方法的排列,有按功能分在一起,有按访问性分(public在前,private在后),这个我更赞同google code style中提到的,只要你能描述出你的类中方法的划分规则即可,当然最好还是和组内统一。
最后是一些细节的理解,这部分我也领会不多。
其一是日志这东西非常关键,好的日志可以快速定位问题,所以在设计功能时,尤其是异常时要考虑哪些关键信息是定位问题需要的,像id,exception中的stacktrace 和 errorMessage,kafka中的partition,offset, 业务流程中也可以打入一些标志信息及入参,便于统计流量。
其二是异常的处理,用一些第三方组件或者其他人的代码,或者说要建立网络连接,要考虑是否有异常的风险,这些异常是要catch还是throw,还是catch住封装一下throw出去,这些最好是有规范在同一层去catch处理,不过业务优先。当你开始思考可不可能抛出异常,该不该catch时你就开始进步了。
这些东西多是些碎碎念~ 希望没有浪费读者你的时间
你的点赞是莫大的鼓励和博主前进的动力 |