zoukankan      html  css  js  c++  java
  • OA 项目组编码规范 CQ

    1. 集合的使用

    如果集合在上下文中的长度是可变的,那么用List<T>

    如果集合在上下文中的长度是不可变的,那么用IEnumerable<T>

    2. 对foreach的简化

    代码
    List<ReservationType> resList = new List<ReservationType>();
    foreach(var res in reses)
    {
        
    if(res.Status == (int)ReservationTypeEnum.Normal && res.Time >= DateTime.Today)
        {
            resList.Add(res);
        }
    }

    应该重构为以下代码

    var normalReses = reses.SafeFindAll(n=>n.Status == (int)ReservationTypeEnum.Normal && n.Time >= DateTime.Today);

     2. 参数命名

    对于class的public方法,如果在执行过程中,该参数是可选的,那么参数名称前面加上option,例如:

    public void DoSomething(long clientID, long optionDependentID){}


     3.冗余代码

    没有必要的变量

    1 List<SaleItem> saleItemList = new List<SaleItem>();
    2 saleItemList.AddRange(otherCollection.SaleItems);
    3 
    4 IEnumerable<SaleItem> newSaleItems = GenerateNewSaleItems(saleItemList, numberOfPersons);

    saleItemsList在这里为没有必要的变量。可以将代码简化为

    1 IEnumerable<SaleItem> newSaleItems = GenerateNewSaleItems(new List<SaleItem>(otherCollection.SaleItems), numberOfPersons);

    或者修改GenerateNewSaleItems的函数声明

    1 private List<SaleItem> GenerateNewSaleItems(List<SaleItem> saleItemList, int numberOfPersons)

    改为

    1 private IEnumerable<SaleItem> GenerateNewSaleItems(IEnumerable<SaleItem> saleItemList, int numberOfPersons)

    ...持续更新中

  • 相关阅读:
    hdu2151
    hdu1028
    hdu1398
    hdu1465
    hdu2853
    poj2195
    poj2255
    JS正则校验数字,特殊字符,邮箱基本格式
    JS正则校验数字,特殊字符,邮箱基本格式
    io读取文件内容乱码处理
  • 原文地址:https://www.cnblogs.com/czy/p/1933626.html
Copyright © 2011-2022 走看看