C#代码整洁之道 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
C#代码整洁之道电子书下载地址
内容简介:
第1章通过优秀代码和劣质代码的对比来说明编码的标准、原则、方法和约定的必要性。本章还将介绍模块化的设计思路以及KISS、YAGNI、DRY、SOLID和奥卡姆剃刀法则等设计规范。
第2章将详细讨论代码评审的过程并说明其重要性,具体包括如何准备代码以供审阅、如何引导代码评审、应当评审哪些内容、何时进行代码评审以及如何进行代码评审的反馈。
第3章涵盖类的组织、文档注释、内聚性、耦合、迪米特法则和不可更改的对象与数据结构等一系列主题。在本章学习结束之后,你将可以编写结构良好、符合单一职责原则、具备相应文档并且可扩展性良好的代码。
第4章将介绍函数式编程的相关知识,并探讨如何令函数保持短小精悍的状态,避免出现重复代码与过多的参数。在本章学习结束之后,你将能够描述函数式编程的知识、编写函数式代码、避免编写带有过多(两个以上)参数的函数、创建不可更改的数据对象或结构、保持方法短小并符合单一职责原则。
第5章将介绍检查型异常和非检查型异常,NullPointerException,如何规避和处理这些异常,业务规则异常,如何在异常中提供有意义的信息以及如何创建自定义异常。
第6章将结合SpecFlow介绍行为驱动开发(Behavior-Driven Development,BDD)方法,同时也将结合MSTest和NUnit工具介绍测试驱动开发(Test-Driven Development,TDD)方法。你将学到如何使用Moq编写测试替身、如何用TDD的方式令测试失败,或(实现功能)令测试通过,以及之后重构代码并确保测试通过。
第7章将使用范例工程演示如何进行手动的端到端测试,具体包括执行端到端测试、工厂的编码和测试、依赖注入的编码和测试,以及模块化系统测试。本章还会介绍如何针对模块化系统设计来执行端到端测试。
第8章将着眼于讲解以下内容:线程的生命周期、向线程传递参数、使用Thread-Pool、互斥量、线程间同步、使用信号量处理并行线程、限制ThreadPool中的线程数目和处理器用量、防止死锁和竞态条件、静态方法和静态构造器、可变性与不可变性以及线程安全。
第9章将向你解释API的定义、API代理、API的设计规范、使用RAML描述API的设计以及Swagger API开发。本章将使用RAML设计和语言无关的API,使用C#进行API的开发,并使用Swagger编写API的文档。
第10章将展示如何获取第三方API密钥,将密钥存储在Azure Key Vault中,并使用在Azure上开发、部署的API获得该密钥,最后实现API的密钥认证与鉴权功能来确保自身API的安全。
第11章将使用PostSharp,使用面向方面开发(aspect-oriented development)中的方面(aspect)和特性(attribute)这两个基本元素来处理切面关注点。本章还将介绍代理对象和装饰器的使用方法。
第12章将介绍一系列工具来提升代码编写质量并提高现有代码的质量,包括如何进行代码度量、代码分析,并进行快速操作。其中涉及被称为dotTrace Profiler和ReSharper的JetBrains工具,以及Telerik JustDecompile工具。
第13章和第14章会介绍不同类型的问题代码,以及将这些代码修改为易读、易维护和易扩展的整洁代码的方法。各类代码问题将列在每一小节中,其中会涉及例如类的依赖,无法修改的代码、集合,以及组合爆炸等问题。
第14章还会介绍创建型和结构型的各类设计模式的实现方式,并简要介绍行为型设计模式。在本章最后我们将对整洁代码及重构进行总结。
书籍目录:
前言
关于作者
关于审校者
第1章 C#的编码标准和原则
1.1 技术要求
1.2 良好的代码与劣质的代码
1.2.1 劣质的代码
1.2.2 良好的代码
1.3 编码标准、原则和方法的必要性
1.3.1 编码标准
1.3.2 编码原则
1.3.3 编码方法
1.3.4 编码规则
1.3.5 模块化
1.3.6 KISS原则
1.3.7 YAGNI原则
1.3.8 DRY原则
1.3.9 SOLID原则
1.3.10 奥卡姆剃刀法则
1.4 总结
1.5 习题
1.6 参考资料
第2章 代码评审-过程及其重要性
2.1 代码评审流程
2.2 准备代码评审
2.3 引导代码评审
2.3.1 创建pull request
2.3.2 响应pull request
2.3.3 反馈对被评审人的影响
2.4 确定评审内容
2.4.1 公司编码规范与业务需求
2.4.2 命名规则
2.4.3 代码格式
2.4.4 测试
2.4.5 架构规范和设计模式
2.4.6 性能和安全性
2.5 何时发起代码评审
2.6 提供并回应评审反馈
2.6.1 评审人提供反馈意见
2.6.2 被评审人回应反馈
2.7 总结
2.8 习题
2.9 参考资料
第3章 类、对象和数据结构
3.1 技术要求
3.2 组织类
3.3 一个类应当只具备一种职责
3.4 从注释生成文档
3.5 内聚和耦合
3.5.1 紧耦合范例
3.5.2 低耦合范例
3.5.3 低内聚范例
3.5.4 高内聚范例
3.6 为变化而设计
3.6.1 面向接口编程
3.6.2 依赖注入和控制反转
3.6.3 DI范例
3.6.4 IoC范例
3.7 迪米特法则
3.8 不可变对象与数据结构
3.9 对象应当隐藏数据并暴露方法
3.10 数据结构体应当暴露数据而无须包含方法
3.11 总结
3.12 习题
3.13 参考资料
第4章 编写整洁的函数
4.1 理解函数式编程
4.2 保持方法短小
4.3 代码缩进
4.4 避免重复代码
4.5 避免多个参数
4.6 实现单一职责原则
4.7 总结
4.8 习题
4.9 参考资料
第5章 异常处理
5.1 检查型异常和非检查型异常
5.2 避免NullReferenceException
5.3 业务规则异常
5.3.1 范例1-使用业务规则异常进行条件处理
5.3.2 范例2-使用正常程序流程进行条件处理
5.4 异常应当提供有意义的信息
5.5 创建自定义异常
5.6 总结
5.7 习题
5.8 参考资料
第6章 单元测试
6.1 技术要求
6.2 为何要进行良好的测试
6.3 了解测试工具
6.3.1 MSTest
6.3.2 NUnit
6.3.3 Moq
6.3.4 SpecFlow
6.4 TDD方法实践-失败、通过与重构
6.5 删除冗余的测试、注释以及无用代码
6.6 总结
6.7 习题
6.8 参考资料
第7章 端到端系统测试
7.1 端到端测试
7.1.1 登录模块(子系统)
7.1.2 管理员模块(子系统)
7.1.3 测验模块(子系统)
7.1.4 对三模块系统执行E2E测试
7.2 工厂
7.3 依赖注入
7.4 模块化
7.5 总结
7.6 习题
7.7 参考资料
第8章 线程与并发
8.1 理解线程的生命周期
8.2 添加线程参数
8.3 使用线程池
8.3.1 任务并行库
8.3.2 ThreadPool.QueueUserWorkItem()方法
8.4 使用互斥量同步线程
8.5 使用信号量处理并行线程
8.6 限制线程池使用的处理器数目及线程数目
8.7 避免死锁
8.8 避免竞态条件
8.9 理解静态构造器和静态方法
8.9.1 添加静态构造器
8.9.2 在代码中添加静态方法
8.10 可变性、不可变性与线程安全
8.10.1 编写可变且线程不安全的代码
8.10.2 编写不可变且线程安全的代码
8.11 理解线程安全
8.12 同步方法依赖
8.13 使用Interlocked类
8.14 通用建议
8.15 总结
8.16 习题
8.17 参考资料
第9章 API的设计与开发
9.1 技术要求
9.2 什么是API
9.3 API代理
9.4 API设计准则
9.4.1 明确定义软件边界
9.4.2 理解高质量API文档的重要性
9.4.3 传递不可变结构体而非可变对象
9.4.4 测试第三方API
9.4.5 测试自己的API
9.5 使用RAML设计API
9.5.1 安装Atom和MuleSoft的Workbench插件
9.5.2 创建项目
9.5.3 从RAML语言无关设计规范生成C# API代码
9.6 总结
9.7 习题
9.8 参考资料
第10章 使用API密钥和Azure Key Vault保护API
10.1 技术要求
10.2 范例API项目-股息日历
10.3 访问Morningstar API
10.4 在Azure中创建股息日历ASP.NET Core Web应用程序
10.5 使用API密钥保护股息日历API
10.5.1 创建repository
10.5.2 设置认证和鉴权功能
10.6 测试API密钥安全功能
10.7 添加股息日历代码
10.8 限制API调用
10.9 总结
10.10 习题
10.11 参考资料
第11章 处理切面关注点
11.1 技术要求
11.2 装饰器模式
11.3 代理模式
11.4 使用PostSharp实现AOP
11.4.1 扩展“方面”框架
11.4.2 扩展架构框架
11.5 创建可重用的解决切面关注点问题的类库
11.5.1 添加缓存关注点
11.5.2 添加文件日志功能
11.5.3 添加日志关注点
11.5.4 添加异常处理关注点
11.5.5 添加安全关注点
11.5.6 添加验证关注点
11.5.7 添加事务关注点
11.5.8 添加资源池关注点
11.5.9 添加配置关注点
11.5.10 添加检测关注点
11.6 总结
11.7 习题
11.8 参考资料
第12章 使用工具改善代码质量
12.1 技术要求
12.2 什么是高质量代码
12.3 清理代码并进行代码度量
12.4 执行代码分析
12.5 使用快速操作
12.6 使用JetBrains dotTrace探查工具
12.7 使用JetBrains ReSharper
12.8 使用Telerik JustDecompile工具
12.9 总结
12.10 习题
12.11 参考资料
第13章 重构C#代码-识别代码坏味道
13.1 技术要求
13.2 应用程序级别代码坏味道
13.2.1 布尔盲点
13.2.2 组合爆炸
13.2.3 人为复杂性
13.2.4 数据泥团
13.2.5 粉饰注释
13.2.6 重复代码
13.2.7 意图不明
13.2.8 可变的变量
13.2.9 怪异的解决方案
13.2.10 霰弹式修改
13.2.11 解决方案蔓延
13.2.12 不可控的副作用
13.3 类级别代码坏味道
13.3.1 过高的圈复杂度
13.3.2 发散式变化
13.3.3 向下类型转换
13.3.4 过度的字面量使用
13.3.5 依恋情结
13.3.6 狎昵关系
13.3.7 不恰当的暴露
13.3.8 巨大的类
13.3.9 冗赘类
13.3.10 中间人类
13.3.11 孤立的变量和常量类
13.3.12 基本类型偏执
13.3.13 被拒绝的遗赠
13.3.14 夸夸其谈未来性
13.3.15 命令,而非询问
13.3.16 临时字段
13.4 方法级别的代码坏味道
13.4.1 不合群的方法
13.4.2 过高的圈复杂度
13.4.3 人为复杂性
13.4.4 无用的代码
13.4.5 过多的返回数据
13.4.6 依恋情结
13.4.7 过长或过短的标识符
13.4.8 狎昵关系
13.4.9 过长的代码行
13.4.10 冗赘方法
13.4.11 过长的方法
13.4.12 参数过多
13.4.13 过度耦合的消息链
13.4.14 中间人方法
13.4.15 怪异的解决方案
13.4.16 夸夸其谈未来性
13.5 总结
13.6 习题
13.7 参考资料
第14章 重构C#代码-实现设计模式
14.1 技术要求
14.2 实现创建型设计模式
14.2.1 实现单例设计模式
14.2.2 实现工厂方法设计模式
14.2.3 实现抽象工厂设计模式
14.2.4 实现原型设计模式
14.2.5 实现建造者设计模式
14.3 实现结构型设计模式
14.3.1 实现桥接设计模式
14.3.2 实现组合设计模式
14.3.3 实现外观设计模式
14.3.4 实现享元设计模式
14.4 行为型设计模式概述
14.5 关于整洁代码和重构的思考
14.6 总结
14.7 习题
14.8 参考资料
参考答案
作者介绍:
Jason Alls拥有超过21年的Microsoft技术编程工作经验,曾就职于一家澳大利亚公司。他最初负责呼叫中心管理报告软件的开发,该软件服务于全球客户,包括电信供应商、银行、航空公司和警察机构。后续开发过GIS市场营销应用程序,在银行部门负责Oracle和SQL Server间的数据迁移。从2005年获得C# MCAD认证以来,他一直在参与各种桌面、Web和移动应用程序的开发。
他目前任职于全球知名的英国教育公司GL Education,使用ASP.NET、Angular和C#进行阅读障碍测试,评估软件的开发与支持工作。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
暂无原文赏析,正在全力查找中!
其它内容:
书籍介绍
第1章通过优秀代码和劣质代码的对比来说明编码的标准、原则、方法和约定的必要性。本章还将介绍模块化的设计思路以及KISS、YAGNI、DRY、SOLID和奥卡姆剃刀法则等设计规范。
第2章将详细讨论代码评审的过程并说明其重要性,具体包括如何准备代码以供审阅、如何引导代码评审、应当评审哪些内容、何时进行代码评审以及如何进行代码评审的反馈。
第3章涵盖类的组织、文档注释、内聚性、耦合、迪米特法则和不可更改的对象与数据结构等一系列主题。在本章学习结束之后,你将可以编写结构良好、符合单一职责原则、具备相应文档并且可扩展性良好的代码。
第4章将介绍函数式编程的相关知识,并探讨如何令函数保持短小精悍的状态,避免出现重复代码与过多的参数。在本章学习结束之后,你将能够描述函数式编程的知识、编写函数式代码、避免编写带有过多(两个以上)参数的函数、创建不可更改的数据对象或结构、保持方法短小并符合单一职责原则。
第5章将介绍检查型异常和非检查型异常,NullPointerException,如何规避和处理这些异常,业务规则异常,如何在异常中提供有意义的信息以及如何创建自定义异常。
第6章将结合SpecFlow介绍行为驱动开发(Behavior-Driven Development,BDD)方法,同时也将结合MSTest和NUnit工具介绍测试驱动开发(Test-Driven Development,TDD)方法。你将学到如何使用Moq编写测试替身、如何用TDD的方式令测试失败,或(实现功能)令测试通过,以及之后重构代码并确保测试通过。
第7章将使用范例工程演示如何进行手动的端到端测试,具体包括执行端到端测试、工厂的编码和测试、依赖注入的编码和测试,以及模块化系统测试。本章还会介绍如何针对模块化系统设计来执行端到端测试。
第8章将着眼于讲解以下内容:线程的生命周期、向线程传递参数、使用Thread-Pool、互斥量、线程间同步、使用信号量处理并行线程、限制ThreadPool中的线程数目和处理器用量、防止死锁和竞态条件、静态方法和静态构造器、可变性与不可变性以及线程安全。
第9章将向你解释API的定义、API代理、API的设计规范、使用RAML描述API的设计以及Swagger API开发。本章将使用RAML设计和语言无关的API,使用C#进行API的开发,并使用Swagger编写API的文档。
第10章将展示如何获取第三方API密钥,将密钥存储在Azure Key Vault中,并使用在Azure上开发、部署的API获得该密钥,最后实现API的密钥认证与鉴权功能来确保自身API的安全。
第11章将使用PostSharp,使用面向方面开发(aspect-oriented development)中的方面(aspect)和特性(attribute)这两个基本元素来处理切面关注点。本章还将介绍代理对象和装饰器的使用方法。
第12章将介绍一系列工具来提升代码编写质量并提高现有代码的质量,包括如何进行代码度量、代码分析,并进行快速操作。其中涉及被称为dotTrace Profiler和ReSharper的JetBrains工具,以及Telerik JustDecompile工具。
第13章和第14章会介绍不同类型的问题代码,以及将这些代码修改为易读、易维护和易扩展的整洁代码的方法。各类代码问题将列在每一小节中,其中会涉及例如类的依赖,无法修改的代码、集合,以及组合爆炸等问题。
第14章还会介绍创建型和结构型的各类设计模式的实现方式,并简要介绍行为型设计模式。在本章最后我们将对整洁代码及重构进行总结。
网站评分
书籍多样性:5分
书籍信息完全性:3分
网站更新速度:4分
使用便利性:5分
书籍清晰度:7分
书籍格式兼容性:4分
是否包含广告:3分
加载速度:8分
安全性:3分
稳定性:4分
搜索功能:3分
下载便捷性:8分
下载点评
- 小说多(646+)
- 无缺页(121+)
- 全格式(94+)
- 赞(639+)
- 一星好评(560+)
- 不亏(457+)
- 目录完整(648+)
- 差评(286+)
- 无水印(210+)
- 种类多(482+)
- 无广告(556+)
- 内容完整(334+)
下载评价
- 网友 焦***山: ( 2024-12-27 21:25:31 )
不错。。。。。
- 网友 石***致: ( 2024-12-22 20:03:30 )
挺实用的,给个赞!希望越来越好,一直支持。
- 网友 寿***芳: ( 2025-01-06 03:29:17 )
可以在线转化哦
- 网友 步***青: ( 2024-12-26 03:58:24 )
。。。。。好
- 网友 菱***兰: ( 2024-12-23 13:13:45 )
特好。有好多书
- 网友 养***秋: ( 2025-01-11 21:48:19 )
我是新来的考古学家
- 网友 宫***玉: ( 2024-12-29 11:06:55 )
我说完了。
- 网友 谢***灵: ( 2025-01-16 23:24:20 )
推荐,啥格式都有
- 网友 孙***美: ( 2025-01-09 04:51:47 )
加油!支持一下!不错,好用。大家可以去试一下哦
- 网友 田***珊: ( 2024-12-30 13:08:08 )
可以就是有些书搜不到
- 网友 居***南: ( 2025-01-15 02:22:34 )
请问,能在线转换格式吗?
- 网友 马***偲: ( 2024-12-26 07:02:17 )
好 很好 非常好 无比的好 史上最好的
- 网友 师***怀: ( 2025-01-07 01:20:43 )
好是好,要是能免费下就好了
喜欢"C#代码整洁之道"的人也看了
文旌课堂 ASP.NET 3.5动态网站开发实例与操作任宁 自学SQL Server 数据库2005版教程书 计算机教育培训辅导教材 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
9787544529471 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
博识小学英语听力100篇(含MP3下载) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
眼镜营销实务(高职眼视光) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
季候风178:王牌帅哥哥 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 协和专家+协和妈妈圈干货分享(产后恢复) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 2022年高考真题 英语 全国各省市高考试题汇编全解 2023高考适用 天利38套 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 水煤浆新技术研发与实践 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 气候变化 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 9787543690677 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 老人与海 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 哈佛教授给学生讲的200个心理健康故事 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 美国一周游(第2版)/亲历者旅游书架 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 设计建筑:实用建筑学 Design-Build 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 批判性思维(原书第12版) 机械工业出版社 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:6分
人物塑造:8分
主题深度:3分
文字风格:5分
语言运用:3分
文笔流畅:7分
思想传递:4分
知识深度:8分
知识广度:5分
实用性:9分
章节划分:6分
结构布局:5分
新颖与独特:3分
情感共鸣:9分
引人入胜:7分
现实相关:8分
沉浸感:6分
事实准确性:9分
文化贡献:5分