Effective C#:改善C#代码的50个有效方法(原书第3版)
上QQ阅读APP看书,第一时间看更新

译者序

自经典畅销书《Effective C++》面世以来,Effective图书系列成了软件开发界的传统图书。很多语言都有对应的Effective书籍,这些书会把该语言中的中、高级技巧按照其所属门类系统地组织起来,使这些技巧既能自成一体,又能与同一门类中的其他技巧相互联系,从而形成一套知识体系。有了这样的体系,读者就可以把工作与学习中所总结的心得以及所联想到的思路安排进来,从而清晰地感知它们在整个体系中所处的位置。

与该书系的其他作品一样,这本《Effective C#》也表现出了这种风格。作者把C#语言在各个方面的用法系统地整理出来。除了从正面讲述应该怎样编写高效的代码之外,还从反面入手,告诉大家C#及.NET中都有哪些可能出错或遭到误用的地方。作者不仅指出了问题,而且详细解释了这些问题的产生原理及应对方案。考虑到作者在.NET及C#开发界的经历以及在Microsoft公司与其他组织中所从事的工作,这些讲解是很有分量的。

虽说这本书是整个Effective系列的一部分,但并没有单纯按照某个固定的套路去复刻,而是有着自身的创见。书中的很多建议都是从系统自带的类库中寻找灵感,并提倡将相关的设计模式运用到自己所要编写的类库或应用程序上,这或许能够提醒大家:编写程序库与编写客户代码时所用的思路未必是毫无关联的,而是有可能在某种意义上是相通的。作者针对程序库的设计者所提出的一些建议其实同样适用于客户端的开发者,反过来说,客户端的开发者调用程序库的方式也可以给库的设计者提供参考,提醒他们多考虑用户的实际用法,而不是一味固守某种教条。

在具体实现层面上,作者的思路同样开阔。他没有直接重复业界已有的编程习惯,而是辨析了这些写法的优点及缺点,并建议大家要在适当的情境中合理地加以运用,而不能过于盲目,同时还告诉读者,应该理解并熟悉C#语言所添加的新特性,以改掉从前那些不好的或已经过时的习惯。

总之,书中的50条建议都是紧贴着C#语言自身的设计理念而写的,在介绍新特性以及与其他语言相对比的过程中,也充分考虑到了程序库设计者与客户端开发者实际使用该语言的方式。这种在沿承中有所创新的做法,令语言本身及其用户都显得更有活力。

翻译本书的过程中,我得到了机械工业出版社华章公司诸位编辑与工作人员的帮助,在此深表感谢。

书中的术语参考了Microsoft的语言门户网站(www.microsoft.com/Language/zh-cn/Search.aspx)以及其他一些技术文章,书末附有“中英文词汇对照表”,以供查阅。

由于译者水平有限,错误与疏漏之处,请大家发邮件至eastarstormlee@gmail.com,或访问github.com/jeffreybaoshenlee/ecs3-errata/issues留言,给我以批评和指教。

爱飞翔