《构建高质量c#代码》之幸福和自由思考

博客分类: 书籍 阅读次数: comments

《构建高质量c#代码》之幸福和自由思考

这本书其实我看的时间很长,也反反复复看了好几遍,作者在书中引导的思路是直接上项目,用c#从零开始写一个游戏,很好玩也很有趣。

如何使用C#写出高质量的代码

我们知道,高质量的代码是优秀软件的基础,创建高质量的代码是每一个真正的程序员坚持不懈的追求,同时,也是一项艰巨而又充满乐趣的工作。我们认为,在编写高质量代码的过程中,需要

考虑以下三个方面:

编写高质量的基础代码

我们会使用某种编程语言写出语句或基础结构,比如我们使用C#语言定义变量,或者是创建选择语句、循环语句结构,又或者定义方法、结构、类、接口,等等。这些内容作为软件代码中的基本元素,与所使用的编程语言的特点是息息相关的。只有当我们熟练掌握并合理使用了编程语言的特点,才能写出高质量的基础代码。

创建高质量的代码结构

在这里所说的代码结构,是指在软件开发中,用于实现业务模型的软件架构。高质量的软件架构可以帮助我们有效完成业务模型所要达到的设计目标,同时,也可以应对不断变化的软件需求。在软件开发和经验积累的过程中,产生了众多的软件开发技术和方法,它们可能与编程语言无关,但对应于每一种编程语言,实现起来又有一定的独特性。设计模式就是在不断的开发和积累过程中,发现并总结出的一系列用于优化代码结构的方法。在软件开发中合理地使用成熟的设计模式,可以帮助我们高效地创建灵活、易扩展、富有弹性的软件架构。这也是我们在应对“需求不断变化”这一软件开发中唯一不变真理时的常用且行之有效的开发技术。

构建高质量c#代码 ###逐步改进

无论是基础代码还是代码结构,要想在初次开发时就能达到很高质量的可能性并不是很大。因此,这就需要我们对代码进行不断的改进,而改进的步骤应该是循序渐进的,而不是暴风骤雨似的。在软件开发中,代码和架构的改进过程,也就是重构(Refactoring)的过程,需要我们对每一条语句或语句结构、算法、架构进行逐步的改进和优化。其中,对于软件架构的重构过程,往往就是应用或去除设计模式的过程。而我们应该注意的是,重构是在不改变或少量修改代码外在行为的基础上,对其内部结构的优化,以便达到代码和架构设计更合理、更简洁、更灵活的目的。重要的是,只有在不断的尝试和挫折中才能让我们积累到更多的、有价值的软件开发经验。此外,我们应该注意代码逐步改进的过程,在这个不断尝试的过程中,会产生多个代码和架构的版本,只有通过对比,我们才能找出最合适的解决方案,这也是经验积累的重要过程。 本书将结合C#编程语言、重构与设计模式,在掌握C#语言基础知识的同时,进一步学习如何使用C#语言实现一些常用的设计模式,而重构则是不断地进行基础代码与软件架构逐步优化的过程,在这一过程中,我们将需要更多地理解高质量代码的进化过程,从而可以帮助我们在使用C#语言开发软件时,能够更合理、更高效地创建出高质量的代码,并使软件架构变得更易维护、更灵活、更富有弹性。

特点

● 享受充满乐趣的学习与开发过程。软件开发应该是一个充满乐趣的过程,而软件开发的学习过程也应该是这样。本书使用了通俗易懂的语言,结合比较有趣的示例代码,比如大量使用了模拟创建游戏的代码示例,让大家在一个比较轻松的氛围中学习和应用知识点。

● 丰富而实用的代码示例。本书包含了大量的示例代码,并在其中穿插了很多实用的内容,比如随机排序算法、中国农历信息的获取、树状结构,以及大量的设计模式模型,等等。大家可以在自己的软件中直接使用这些代码,也可以根据需求对其进行修改、扩展或者简化,从而可以更有效、更合理地运用这些算法和代码结构。

● 大量实用的开发技巧和方法。在讨论知识点的时候,我们列举了大量的实用开发技巧和方法,并通过实际测试来解答一些技术上的疑问,真正做到能见到树木,亦能见到森林。

书内容

C#编程语言,涵盖了使用C#开发应用软件过程中常用的内容,如数据类型、结构化语句、数组、结构类型、枚举类型、类、委托、泛型、接口、多线程与资源同步等。并对一些不太常用的内容做了简单的介绍,如预处理、特性、不安全代码、分部类型和可空类型等。 设计模式,介绍了在C#和.NET Framework中应用的四种设计模式,包括访问者、迭代器、适配器和模板方法模式。然后,我们详细介绍了11种设计模式,它们是策略、工厂方法、抽象工厂、生成器、单件、观察者、享元、组合、装饰者、状态和桥接模式,并创建了这些设计模式的基本模型,这些都是在C#开发应用软件过程中可能会经常使用到的模式。读者应该在学习和使用设计模式的过程中领悟到软件开发的精髓和本质所在,而不只是照葫芦画瓢。读者应该明白,应用设计模式并不是我们的目标,我们的目标是创建高质量的软件,任何技术的取舍都应该基于这一目标。 在贯穿全书的内容中,我们穿插介绍了各种编写高质量代码、架构,以及逐步改进的方法、技巧,并给出了一些代码演化的过程。 最后,我们讨论了C#、设计模式、重构,以及软件构建中涉及的一些主题