第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章还会介绍创建型和结构型的各类设计模式的实现方式,并简要介绍行为型设计模式。在本章最后我们将对整洁代码及重构进行总结。
0 有用 飞鸿踏雪 2023-09-24 21:27:23 陕西
浅尝辄止,什么都想涉猎一下,什么都没有讲明白。
1 有用 蘅芜风醉 2023-03-24 08:16:23 陕西
一本什么都想讲什么都没讲的书,所有章节内容都浅尝辄止,毫无用处的一本书。
0 有用 飞鸿踏雪 2023-09-24 21:27:23 陕西
浅尝辄止,什么都想涉猎一下,什么都没有讲明白。
1 有用 蘅芜风醉 2023-03-24 08:16:23 陕西
一本什么都想讲什么都没讲的书,所有章节内容都浅尝辄止,毫无用处的一本书。