zoukankan      html  css  js  c++  java
  • 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时你就开始进步了。

     

    这些东西多是些碎碎念~ 希望没有浪费读者你的时间

  • 相关阅读:
    c++-面向对象:类和对象
    c++-内联函数和函数重载和默认参数和函数指针
    c++-引用
    c++-const
    c++--语言本身
    排序-基数排序
    排序-归并排序
    排序-堆排序
    常用Java API: ArrayList(Vector) 和 LinkedList
    常用Java API:Calendar日期类
  • 原文地址:https://www.cnblogs.com/ZouHongxue/p/12053559.html
Copyright © 2011-2022 走看看