zoukankan      html  css  js  c++  java
  • 研发代码规范

    java代码基础规范主要参照 阿里巴巴Java开发手册(详尽版).pdf

    推荐阅读书籍 重构-改善既有代码的设计.pdf

    简化版规范如下:

    开发理念

    • 用心写代码,提炼真正的非功能性需求。
    • 代码整洁干净到极致, 请参见《重构》和《代码整洁之道》。
    • 极简代码, 高度复用,无重复代码和配置。
    • 代码应在同一抽象层级。
    • 修改功能时多考虑影响面, 不可留下没修改完全的部分。
    • 只有一个需求时,不需扩展性。两个类似需求时, 再提炼扩展性。

    开发行为规范

    • 提交之前先确定模块的测试套件,并使用测试覆盖率工具检查覆盖率不能低于master分支的覆盖率。
    • commit代码的注释,必须需要写清楚提交内容,不要写修改功能、修复问题。一般来说,commit message 应该清晰明了,说明本次提交的目的。
    • 使用阿里巴巴插件检查代码
    • 执行mvn clean install可以测试和编译通过。
    • 及时删除无用代码。

    编码规范

    • 写代码之前看一下系统已有的代码, 保持风格和使用方式一致。
    • 变量命名要有意义, 如果方法只有唯一的返回值, 使用result命名返回值. 循环中使用each命名循环变量, map中使用entry代替each。
    • 嵌套循环尽量提成方法。
    • 优先使用卫语句。
    • 配置文件使用驼峰命名, 文件名首字母小写。
    • 类和方法的访问权限控制为最小, 例如: 可以设为包私有的就不用public。
    • 方法所用到的私有方法应紧跟着该方法, 如果有多个私有方法, 书写私有方法应与私有方法在原方法的出现顺序相同。
    • 优先使用guava而非apache commons, 如:优先使用Strings而非StringUtils。
    • 优先使用lombok代替构造器, get, set, log方法。
    • 使用linux换行符。
    • 缩进(包含空行)和上一行保持一致。
    • 不应有无意义的空行。
    • 方法入参和返回值不允许为null,如有特殊情况需注释说明。
    • 需要注释解释的代码尽量提成小方法,用方法名称解释,注释应只包含javadoc和todo,fixme等。
    • 禁止使用static import。
    • 不需要公开的类放入internal包,包中类尽量包私有。
    • 日志一律使用英文。
    • 使用annotation获取spring的业务bean。
    • 如果模块中有公用的切入点,应在模块一级路径创建pointcut包。
    • 属性配置项需要添加到各个模块的常量枚举中。
  • 相关阅读:
    (转载)SAPI 包含sphelper.h编译错误解决方案
    C++11标准的智能指针、野指针、内存泄露的理解(日后还会补充,先浅谈自己的理解)
    504. Base 7(LeetCode)
    242. Valid Anagram(LeetCode)
    169. Majority Element(LeetCode)
    100. Same Tree(LeetCode)
    171. Excel Sheet Column Number(LeetCode)
    168. Excel Sheet Column Title(LeetCode)
    122.Best Time to Buy and Sell Stock II(LeetCode)
    404. Sum of Left Leaves(LeetCode)
  • 原文地址:https://www.cnblogs.com/zhangfengshi/p/10642255.html
Copyright © 2011-2022 走看看