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);
}
}
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);
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)
...持续更新中