论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
.Net
›
读C#代码整洁之道笔记02_类、对象和数据结构及编写整洁 ...
读C#代码整洁之道笔记02_类、对象和数据结构及编写整洁函数 ...
圆咕噜咕噜
金牌会员
|
2023-3-21 08:47:03
|
显示全部楼层
|
阅读模式
楼主
主题
903
|
帖子
903
|
积分
2709
1. 组织类
1.1. 每一个接口、类、结构体和枚举均应当拥有其自身的独立源文件
1.2. Pascal命名方法命名命名空间
1.3. 测试类定义在独立的程序集
1.3.1. 不同程序集的测试放在不同程序集
1.3.2. 程序集名称的最后附加Tests命名空间
1.4. 公司名称、产品名称和缩写词汇无须使用复数形式
2. 单一职责原则
2.1. (Single Respon-sibility Principle,SRP)
2.2. 一个类应当只具备一种职责
2.3. 类的职责就是类所具备的功能
3. 从注释生成文档
3.1. 源代码文件的顶部都应当包含版权声明
3.2. 命名空间、接口、类、枚举、结构体、方法和属性都应当包含注释
4. 内聚
4.1. 高内聚
4.1.1. 代码应恰当分组
4.2. 低内聚
4.2.1. 不属于同一类型的代码划归在一组
4.2.2. 职责多于一种的类称为低内聚类
5. 耦合
5.1. 紧耦合
5.1.1. 一个类对另一个类依赖性越强
5.2. 低耦合
5.2.1. 相互独立的类越多
5.2.2. 依赖注入技术有助于编写低耦合且易于测试的整洁代码
6. 为变化而设计
6.1. 设计变化的内容和方式
6.2. 面向接口编程
6.2.1. Interface-Oriented Programming,IOP
6.2.2. 有助于编写多态的代码
6.2.3. 控制反转可以在必要时替换实现了相同接口的软件的实现
6.3. 依赖注入(Dependency Injection,DI)
6.4. 控制反转(Inversion of Control,IoC)
6.5. 解决软件变更的问题
7. 迪米特法则
7.1. Law of Demeter
7.2. 最少知识原则(The Least Knowledge Principle)
7.3. 一个类对于其他类知道的越少越好
7.4. 意在删除链条式调用(用“.”进行的调用链接)
7.5. 可以解除代码的耦合
7.6. 实现迪米特法则有时是很难的
8. 不可变对象
8.1. 值类型
8.2. 一旦获得则其值就不再改变
8.3. 容易预测又不会改变
8.4. “最小惊讶原则”(principle of least astonishment,POLA)
9. 对象应当隐藏数据并暴露方法
10. 数据结构体应当暴露数据而无须包含方法
10.1. 结构体和类不同,它们使用值相等而非引用相等来进行比较
10.2. 最好隐藏数据,仅仅通过属性或方法来访问数据
11. 函数式编程
11.1. 一种软件编程方法
11.2. 将计算看作数学计算评估
11.3. LINQ
11.4. readonly struct和不可变数据结构
11.5. 比其他编程类型的方法要短小得多
11.6. 对于面向过程的程序员和面向对象的程序员来说需要比较艰难的转变才能适应
12. 保持方法短小
12.1. 最好将方法长度控制在10行之内
12.2. 最佳长度是在4行之内
13. 代码缩进
13.1. IDE实现
14. 避免重复代码
14.1. Don't Repeat Yourself,DRY
14.2. WET即每次都需要编写的代码(Write Every Time)
15. 尽可能减少参数数量
15.1. 方法参数数目应当小于三个
15.2. 理想情况下则不需要任何参数
15.3. 使用参数对象的模式进行设计
16. 更改对象状态是程序缺陷的源泉,尤其是在多线程程序中
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
圆咕噜咕噜
金牌会员
这个人很懒什么都没写!
楼主热帖
CSRF漏洞详细解读
通过Go语言创建CA与签发证书 ...
超融合市场,谁能当老大?
【第86题】JAVA高级技术-网络编程5(断 ...
【python二级-练习题】
内网渗透之Windows认证(二) ...
09、openfoam案例之圆柱绕流
Java实现在线SQL编程【完整版】 ...
SpringCloud五大常用组件
JAVA JDK最详细的安装教程--你只需要看 ...
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表