CodeReview规范

CodeReivew 标准

  1. 通用原则

    • 提交 PR 的代码必须保证自测通过
    • 只 review 代码规范、业务逻辑,不 review 架构设计(那是写代码前应该做的事情)
    • 干掉重复代码,合理复用代码
    • 合理命名变量、函数、API 的名字(具体参考各语言规范)
    • 删除无用代码(包括以后可能会用的代码,用时再加入)
    • 重要函数入口、复杂的业务逻辑要有注释(注释标准见各语言规范)
  2. Python 代码规范

    • https://guoruibiao.gitbooks.io/effective-python/content/
  3. Java 代码规范

      1. Java 命名规范 参见[ google java style ]
        1. 1为统一所有同事的代码格式,需要安装IDE的plugin 来强制格式化文件(具体,参见 https://github.com/google/google-java-format)
      2. Java Code 实现规范

        1. 谨慎使用接口,如无必要,不必抽象

          接口的使用有一些场景:

          • 抽象公共的行为 (要求有至少2个实现)
          • 使用JDK 原生的Proxy
          • 定义框架扩展点

          不满足以上场景,不必抽象

        2. 尽量使用公共组件库,强烈不推荐自己实现Utility(如guava/apache commons)

        3. 尽量使用异常,避免错误码

        4. 参数验证尽量前置

        5. 时间统一返回成long (毫秒级)

        6. 对float/double 精度问题保持警惕

        7. 尽量使用JDK lambda

Code Review 规范的更多相关文章

  1. 我们是怎么做Code Review的

    前几天看了<Code Review 程序员的寄望与哀伤>,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享.探讨.我们为什么要推行Code ...

  2. code review作业

    下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...

  3. Code Review 五问五答

    Code Review 是什么? Code Review即代码审查,程序猿相互审核对方的代码. Code Review能获得什么好处? 提高代码可维护性 你写的代码不再只有编译器看了,你得写出审核人能 ...

  4. 大家是怎么做Code Review的?

    先说说我们公司现在的做法,一个团队被人为地分为两个阵营:Senior Developers和Junior Developers,比例差不多是1:1,Senior Developers就担负着对Juni ...

  5. 近期code review几处小问题集锦

    1 线程池使用不当 我们的调度系统需要将一堆会员分配给相应的人员来处理,流程如以下伪代码所示: public void dispatch() { while (true) { List<Memb ...

  6. <转>如何进行code review

    转自: http://pm.readthedocs.org/zh_CN/latest/codereview/howto.html 如何进行code review? code reivew是保障代码质量 ...

  7. Code Review Engine Learning

    相关学习资料 https://www.owasp.org/index.php/Code_review https://www.owasp.org/images/8/8e/OWASP_Code_Revi ...

  8. [充电]Code Review

    参考:http://blog.jobbole.com/83595/ http://www.kuqin.com/shuoit/20150319/345323.html 让 Code Review成为一种 ...

  9. Code Review的一些典型内容

    如下是Code Review中一些典型的内容: 一.常规项: 1.代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 2.所有的代码是否简单易懂? 3.代码符合你所遵循的编程规范么?这通常包括大 ...

随机推荐

  1. Codeforces 321D Ciel and Flipboard(结论题+枚举)

    题目链接   Ciel and Flipboard 题意  给出一个$n*n$的正方形,每个格子里有一个数,每次可以将一个大小为$x*x$的子正方形翻转 翻转的意义为该区域里的数都变成原来的相反数. ...

  2. 松鼠的新家(lca)

    洛谷—— P3258 [JLOI2014]松鼠的新家 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的 ...

  3. 如何轻松的把图片导入execl表格中

    在项目中有时候会遇到往数据库中导数据的时候,往往需要把图片也一起导入execl表格中,那怎么才能把图片一块导入至execl中呢?那么今天我们就来看看怎么实现吧! 如何实现?今天我们就来用jxl和poi ...

  4. 配置laravel的nginx站点

    server{}配置 server{ #端口配置 listen 80; #域名配置 server_name laravel.cc; index index.php index.html index.h ...

  5. Dubbo简介及实例

    节点角色说明: Ø  Provider: 暴露服务的服务提供方. Ø  Consumer: 调用远程服务的服务消费方. Ø  Registry: 服务注册与发现的注册中心. Ø  Monitor: 统 ...

  6. Opencv 改进的外接矩形合并拼接方法

    上一篇中的方法存在的问题是矩形框不够精确,而且效果不能达到要求 这里使用凸包检测的方法,并将原来膨胀系数由20缩小到5,达到了更好的效果 效果图: 效果图: 代码: #include <open ...

  7. Segmentation fault(core dumped) 调试

    ReadingList: https://mytechrants.wordpress.com/2009/05/22/debugging-a-segmentation-fault-using-gdb/ ...

  8. Linux Distribution

    来自为知笔记(Wiz)

  9. byte 单位换算

    1G就1GB啦,平时人们说1G只是简洁来说而已. bit(位).B(字节).K(千).M(兆).G(吉咖).T(太拉) B(Byte).KB(KiloByte).MB(MegaByte).GB(Gig ...

  10. 简化动态MERGE的SQL计算

    MSSQL.ORACLE等数据库支持MERGE语句更新表.但表结构未知时,因为缺乏集合类数据.用存储过程获得表结构再动态拼出SQL很麻烦,代码会有几十行之多:相同原因,用Java等高级语言实现也不简单 ...