编程语言
首页 > 编程语言> > “我的“ C# 代码规范

“我的“ C# 代码规范

作者:互联网

        代码规范是最容易被忽视的一项技能。对于领导和开发者来说,实现业务需求并且没有Bug才是最终目的。假如没有健全的Code review机制,项目很容易沦为“Shit mountain”。

        相信我们大多数人接触编程的第一门语言是C语言。C语言是一门优秀的面向过程语言,我们可以通过使用基础的数据结构与程序流程来学习编程。因此有些同学会养成命令式编程习惯,例如我们通常会看到这样的程序:

If(…)
  //do some thing
If(…)
  //do some thing
Else
  //do some thing
//do some thing
//do some thing

随着时间的推移,这段代码经手的人越来越多,这个方法也越来越长。

写出整洁的代码是一件很简单,但又没有明确标准的一件事,假如你正好接手了一个代码很规范的项目的话,会学习的很快。我只能通过一些原则性的,理论性的要求,以及工作中的所见所感,给出一些建议。

函数式编程原则性要求:

  1. 避免参数突变,即无论当前方法的入参是值类型或是引用类型,都应该将其视为不可变类型,应将目标结果作为方法的返回值。常见错误有void FillOrderInfo(Order order)等。应该使用order.BuildInfo(…);或 Order GetOrderDetail(…);等方式。
  2. 编写合适的高阶函数。即接受委托(方法)作为入参,或者以委托(方法)作为返回值的函数。如Linq中的Where,Select等。
  3. 编写可测试的代码,即纯函数。纯函数指的是结果只由入参决定的函数,假如你函数中使用了DataTime.Now, 因为它会获取外部操作系统时间,因此会导致当前函数依赖外部环境,不是纯函数。应在外部获取当前时间,作为参数传入,类似行为还有数据库查询,网络调用等。

函数式编程提倡一行函数,C#本身新语法也在往函数式编程方向发展,比如C#9.0中的Init,顶级语句,记录类型以及之前的模式匹配等,无不展示这些程序设计理念。

业务代码:

如:Event/OrderUpdateEvent.cs;  Handler/ OrderUpdateHandler.cs。
错误示范:
DbContext AddDbContext<T>(Configure conf)

{ 
    connString  = conf[“ConnString”]; 
    // do some thing;
}

正确写法:
DbContext AddDbContext<T>(string connString)
{ 
    // do some thing;
}

要对当前的开发技术有一个较全面的了解,并灵活使用:

  1. 使用IOC容器,依赖注入。
  2. 使用EventBus来优化代码。
  3. 使用AutoMapper来做实体映射。
  4. 能使用ORM就不要使用SQL。
  5. 使用Polly来做故障处理。
  6. 当配置项过多时考虑引入或设计一个配置管理平台。
  7. 学习领域驱动设计。
  8. ......

标签:do,函数,C#,代码,some,规范,thing,使用
来源: https://blog.csdn.net/qq_40404477/article/details/118939953