大家都知道,ThoughtWorks的技术雷达每年都会发布两到三次,它不但是业界技术趋势的标杆,更提供了一种卓有成效的方法论,即打造自己的技术雷达。在这种思想的驱动下,我们诞生了自己的读书雷达。但这份雷达略显high level,缺乏某一具体领域的详细书单。又由于最近很多同事都跟我讨论过C#书籍的问题,于是突发奇想,“滥竽充数”地搞了这份C#读书雷达,权当是读书雷达于C#这一领域的补充。

跟技术雷达和读书雷达一样,.NET读书雷达也是非常主观的。并且我只会列出我读过(或粗略翻看过)的书籍,所以难免会有疏漏(如果有其他好书,欢迎各位补充)。

这份雷达同样分为四个象限:语言、应用、底层和规范,并且包含三个环,分别为初级、中级、高级。

基础

这个象限下的书籍都是不错的入门读物,从C#基本语法到高级应用(ASP.NET、WCF),但都是泛泛而谈,要想了解更深入的内容,还是应该阅读相关的书籍。

  • 精通C#

  • 果壳中的C#

  • C#本质论

这三本都是大部头,适合放到案边以供随时查阅。个人觉得有其中一本就足够了。

技巧

本象限的书籍介绍C#的一些高级技巧,是学习C#的进阶读物。读了这些书,你就能写出高效优雅的C#代码。

  • C#高效编程

  • More Effective C#中文版

  • 深入理解C#

前两本是Bill Wagner的大作,大名鼎鼎的Effective家族中的两位重量级成员。其内容包括语言习惯、资源管理、表达设计、动态特性、泛型、多线程、LINQ等等。两本书共包含100个行之有效的改善C#代码的tips,是便携C#代码的最佳实践,相信它们一定能帮助我们提升代码质量,增强可维护性。虽然这两本中文版书名容易让人迷惑,但只要记住它们的英文名(Effective C#和More Effective C#)就可以了。

《深入理解C#》是我打算重点推荐的,它是我阅读过的最好的C#书籍没有之一。它不但介绍了从C# 1开始到C# 5的所有特性,还解释了设计者为什么要这样设计。比如像迭代器块这样的特性,其他书籍很可能一笔带过,但本书却花整整一章去深入探讨,并且在补充材料中介绍了编译之后的状态机。

底层

  • CLR via C#

  • Pro .NET Performance

说来奇怪,关于JVM的书籍如百花齐放,也不乏一些国产好书,但跟CLR有关的却凤毛麟角,翻来覆去就只有《CLR via C#》。但话说回来,这样的书有此一本也就足够了。本书涵盖CLR基础、类型系统、语言特性、核心机制和线程处理,常看常新,是居家旅行的必备。

如果您常逛.NET社区,一定知道赵三本,即著名.NET程序员老赵推荐的三本.NET书籍(均在本雷达中)。不过这“三兄弟”其实还后续了一位“四弟”,也就是《Pro .NET Performance》。这是我读过的第二本(第一本是《CLR via C#》)深入介绍.NET类型系统和垃圾回收的书,并且它的关注点在性能,这个领域的书籍也确实偏少。本书国内已经引进,正在翻译,不出意外的话明年应该能买到。

规范

前三个象限(基础、技巧、底层)逐渐提高和深入,有点像台阶。而“规范”这个象限有点像扶手,帮助我们更好地提高。

  • .NET设计规范

  • C#语言规范

相比其他领域,.NET(或C#)也非常缺乏规范类的书籍,这大概也是因为有《.NET设计规范》这本标杆在。本书的作者来自微软.NET Framework团队,讲述了他们在设计.NET时的一些决策过程,包括命名规范、类型设计,同时还有经验丰富的框架设计师、业界专家及用户给出的评注,为书中的许多规范增色不少。并且,它不仅对于.NET的代码规范,对于其他语言来说,也大有裨益。

《C#语言规范》是一本免费书(严格地说应该是文档而不是书),就安安静静地躺在我们安装的.NET Framework文件夹里。它是C#语言的说明文档,是以上所有书籍的最终依据。我以前会打印出来装订好,放在手边当字典翻阅。

以上就是我的C#读书雷达。

内容转载自公众号

ThoughtWorks
了解更多

C#读书雷达 | TW洞见相关推荐

  1. DevOps 读书雷达 - 企业数字化转型的读书清单

    DevOps 是传统企业进行数字化转型非常重要的一环.最近,我刚好在整理 DevOps 相关的资料,过程中我参考了一些书籍,从中获得了大量的洞见.也因此,为了帮助其他的小伙伴学习,我把这些书以读书雷达 ...

  2. ThoughtWorks(中国)程序员读书雷达

      软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识.世界上并不存在速成的终南捷径,但阅读好的技术书籍 ...

  3. ThoughtWorks读书雷达

    由来 在2013年4月份,ThoughtWorks中国的员工张逸和刘龙军根据自己在ThoughtWorks的工作和学习经验,结合自己的阅读经历,以及参考诸多其他同事的建议,制作了第一期读书雷达(为什么 ...

  4. ThoughtWorks 2016读书雷达

    (点击文末阅读原文", 可获取文中提及图书的豆瓣链接) 由来 在2013年4月份,ThoughtWorks中国的员工张逸和刘龙军根据自己在ThoughtWorks的工作和学**经验,结合自己 ...

  5. 张逸:ThoughtWorks(中国)程序员读书雷达

    2013/06/20 ·  书籍与教程, 开发· 6.6K 阅读·  书籍, 架构设计, 编程, 领导力 原文出处: 简单文本-张逸   欢迎分享原创到伯乐头条 软件业的特点是变化.若要提高软件开发的 ...

  6. 张逸: ThoughtWorks(中国)程序员读书雷达

    原文出处: 简单文本-张逸 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与学识.世界上并不存在速成的终南 ...

  7. 3到6年的.NETer应该掌握哪些知识

    我们组的开发人力一直比较紧张,今年春节后,高层终于给了几个headcount,我们可以开始招人了.从三月初我们就开始找简历,渠道有拉钩,内推,我司自己的招聘网站和智联等.简历筛了很多,也打了很多电话, ...

  8. 2019年第四季度书单

    随着十一小长假的结束,2019年第四季度正式开始 Thoughtworks发布了最新一期的读书雷达3.0 , 而我也要同步更新一下自己的书单啦! 软件架构: <深入理解Spring架构> ...

  9. 程序员如何变得更优秀?从业 10 年,我总结了 7 个建议

    作者:ThoughWorks洞见 https://insights.thoughtworks.cn/excellent-developer/ 作为一个从业快10年的程序员,我想给新入行的程序员们一些建 ...

最新文章

  1. openwrt配置内核驱动_openwrt增加内核模块的方法
  2. 汇编:从键盘读取字符
  3. LOJ 2546 「JSOI2018」潜入行动——树形DP
  4. [摘]全文检索引擎Solr系列—–全文检索基本原理
  5. 惊呆了!不改一行 Java 代码竟然就能轻松解决敏感信息加解密
  6. github(GitHub Flavored Markdown)
  7. 【C++】C++未定义行为
  8. 如何备份数据库的某张表_详解mysql数据库如何用mysqldump实现单表备份
  9. 认识 ARM、FPGA
  10. 业务、架构、技术,我们应该关注什么 Java和.Net的优势劣势简单看法 市场经济决定,商业之道即是软件之道,市场的需求决定着软件技术的发展 利益决定着选择应用新技术...
  11. Kotlin生态调查结果出炉:超过6成的开发者用过Kotlin了
  12. opencv实现银行卡号识别
  13. 我的时间管理类培训PPT
  14. matlab 图像中4像素融合一个像素,python实现两张图片的像素融合
  15. Spring-Boot实现HTTP大文件断点续传分片下载-大视频分段渐进式播放
  16. word2vec使用说明
  17. 一款简易低成本智能割草机的制作——硬件篇
  18. 【机器学习】一文读懂正则化与LASSO回归,Ridge回归
  19. pip安装.whl文件
  20. Mesh组网之单线复用与VLAN网口复用

热门文章

  1. 【转】10个让人受益的管理原理
  2. VMware:为中国中小企业建立“外部云计算”
  3. Yahoo Mail,慢功出细活〔转载〕
  4. 【C#/.NET】不用AutoMapper,我用啥呢?
  5. 真快!10秒内将k8s集群运行起来
  6. .NET 生态系统的蜕变之 .NET 6
  7. Async和Await异步编程的原理
  8. Visual Studio项目引用出现感叹号怎么办?
  9. 在.NET中使用DiagnosticSource
  10. IBM、甲骨文、CNCF 就谷歌对 Istio 治理的处理提出抗议