代码规范!

  • Post author:
  • Post category:其他




前言

Code Review主要检查代码中是否存在以下方面问题:代码的一致性、编码风格、代码的安全问题、代码冗余、是否正确设计以满足需求(性能、功能)



提示:以下是本篇文章正文内容,下面案例可供参考



一、起名:

命名是要展现意图 名字不能过于长 并且语义清晰

不能取只有自己才能明白的

开关: xxxxxvisible

对函数的操作: handlexxxxxx

得到: getxxxxxxxx

1、起的名字是有意义的,可以表达一个概念

2、要考虑名字的长度,名称中只有必要的信息

3、符合“编码规范”,帮助理解

4、一个概念不要多种名字混用

5、使用在背景领域和上下文中都有意义的名字



二、注释



1.方法注释:

代码如下(示例):

/**
* 合并Grid的行
* @param grid {Ext.Grid.Panel} 需要合并的Grid
* @param cols {Array} 需要合并列的Index(序号)数组;从0开始计数,序号也包含。
* @param isAllSome {Boolean} :是否2个tr的cols必须完成一样才能进行合并。true:完成一样;false(默认):不完全一样
* @return void
* @author polk6 2015/07/21 
* @example
* _________________                             _________________
* |  年龄 |  姓名 |                             |  年龄 |  姓名 |
* -----------------      mergeCells(grid,[0])   -----------------
* |  18   |  张三 |              =>             |       |  张三 |
* -----------------                             -  18   ---------
* |  18   |  王五 |                             |       |  王五 |
* -----------------                             -----------------
*/
function mergeCells(grid: Ext.Grid.Panel, cols: Number[], isAllSome: boolean = false) {
    // Do Something
}



2.精简代码

善于运用ES6中解构 const { a } = this.state

代码擅于拆分 重复的写成一个公共方法便于使用

修改前

 if (expressName != '' && expressName != 'all' && minWeight == '' && maxWeight == '') { // 只有快递公司
            if (rowsStr.tidArr && rowsStr.trade.orders.order[0].logistics_company != expressName) {
                rowsStr.errors.push({ msg: `结算${expressName},打印${rowsStr.trade.orders.order[0].logistics_company}` });
            }
            if (parseFloat(rowsStr.tradeWeight) != rowsStr.weight && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        } else if ((expressName == '' || expressName == 'all') && minWeight != '' && maxWeight == '') { // 只有最小重量
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(minWeight) > rowsStr.weight || rowsStr.weight > parseFloat(rowsStr.tradeWeight)) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        } else if ((expressName == '' || expressName == 'all') && minWeight == '' && maxWeight != '') { // 最有最大重量
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(maxWeight) < rowsStr.weight || rowsStr.weight < parseFloat(rowsStr.tradeWeight)) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        } else if (expressName != '' && expressName != 'all' && minWeight != '' && maxWeight == '') {  // 只有快递公司和最小重量
            if (rowsStr.tidArr && rowsStr.trade.orders.order[0].logistics_company != expressName) {
                rowsStr.errors.push({ msg: `结算${expressName},打印${rowsStr.trade.orders.order[0].logistics_company}` });
            }
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(minWeight) > rowsStr.weight || rowsStr.weight > parseFloat(rowsStr.tradeWeight)) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        } else if (expressName != '' && expressName != 'all' && minWeight == '' && maxWeight != '') { // 只有快递公司和最大重量
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(maxWeight) < rowsStr.weight || rowsStr.weight < parseFloat(rowsStr.tradeWeight)) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
            if (rowsStr.tidArr && rowsStr.trade.orders.order[0].logistics_company != expressName) {
                rowsStr.errors.push({ msg: `结算${expressName},打印${rowsStr.trade.orders.order[0].logistics_company}` });
            }
        } else if ((expressName == '' || expressName == 'all') && minWeight != '' && maxWeight != '') { // 只有重量范围
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(maxWeight) < rowsStr.weight || parseFloat(rowsStr.tradeWeight) + parseFloat(minWeight) > rowsStr.weight) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        } else if (expressName != '' && expressName != 'all' && minWeight != '' && maxWeight != '') { // 三个都有
            if ((parseFloat(rowsStr.tradeWeight) + parseFloat(maxWeight) < rowsStr.weight || parseFloat(rowsStr.tradeWeight) + parseFloat(minWeight) > rowsStr.weight) && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
            if (rowsStr.tidArr && rowsStr.trade.orders.order[0].logistics_company != expressName) {
                rowsStr.errors.push({ msg: `结算${expressName},打印${rowsStr.trade.orders.order[0].logistics_company}` });
            }
        } else { // 商家未填写内容
            if (parseFloat(rowsStr.tradeWeight) != rowsStr.weight && rowsStr.tradeWeight && rowsStr.weight) {
                rowsStr.errors.push({ msg: `重量:结算${rowsStr.weight},打印${rowsStr.tradeWeight}` });
            }
        }

修改后

在这里插入图片描述



版权声明:本文为weixin_44362151原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。