C#读书
C#读书雷达
大家都知道,ThoughtWorks的技术雷达每年都会发布两到三次,它不但是业界技术趋势的标杆,更提供了一种卓有成效的方法论,即打造自己的技术雷达。在这种思想的驱动下,我们诞生了自己的读书雷达(目前已推出最新版)。但这份雷达略显high level,缺乏某一具体领域的详细书单。又由于最近很多同事都跟我讨论过C#书籍的问题,于是突发奇想,“滥竽充数”地搞了这份C#读书雷达,权当是读书雷达于C#这一领域的补充。
跟技术雷达和读书雷达一样,.NET读书雷达也是非常主观的。并且我只会列出我读过(或粗略翻看过)的书籍,所以难免会有疏漏(如果有其他好书,欢迎各位补充)。
这份雷达同样分为四个象限:语言、应用、底层和规范,并且包含三个环,分别为初级、中级、高级。
基础
这个象限下的书籍都是不错的入门读物,从C#基本语法到高级应用(ASP.NET、WCF),但都是泛泛而谈,要想了解更深入的内容,还是应该阅读相关的书籍。
这三本都是大部头,适合放到案边以供随时查阅。个人觉得有其中一本就足够了。
技巧
本象限的书籍介绍C#的一些高级技巧,是学习C#的进阶读物。读了这些书,你就能写出高效优雅的C#代码。
前两本是Bill Wagner的大作,大名鼎鼎的Effective家族中的两位重量级成员。其内容包括语言习惯、资源管理、表达设计、动态特性、泛型、多线程、LINQ等等。两本书共包含100个行之有效的改善C#代码的tips,是便携C#代码的最佳实践,相信它们一定能帮助我们提升代码质量,增强可维护性。虽然这两本中文版书名容易让人迷惑,但只要记住它们的英文名(Effective C#和More Effective C#)就可以了。
《深入理解C#》是我打算重点推荐的,它是我阅读过的最好的C#书籍没有之一。它不但介绍了从C# 1开始到C# 5的所有特性,还解释了设计者为什么要这样设计。比如像迭代器块这样的特性,其他书籍很可能一笔带过,但本书却花整整一章去深入探讨,并且在补充材料中介绍了编译之后的状态机。
底层
说来奇怪,关于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#读书雷达。
C#读书的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
#coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...
- 【读书】PHP程序员要读的书目(不断完善中)
本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生 ...
- 《图解HTTP》读书笔记
目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...
- 《图解TCP/IP》读书笔记
一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识.掌握TCP/IP的基本技能. 书中讲解了网络基础知识.TCP/IP基础知识.数据链路.IP协议.IP协 ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 【读书笔记】2016.12.10 《构建高性能Web站点》
本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...
- [转]ThoughtWorks(中国)程序员读书雷达
http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330 ...
- 《深入理解Java内存模型》读书总结
概要 文章是<深入理解Java内容模型>读书笔记,该书总共包括了3部分的知识. 第1部分,基本概念 包括"并发.同步.主内存.本地内存.重排序.内存屏障.happens befo ...
- 《MySQL 必知必会》读书总结
这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...
随机推荐
- 开发自己PHP MVC框架(一)
本教程翻译自John Squibb 的Build a PHP MVC Framework in an Hour,但有所改动,原文地址:http://johnsquibb.com/tutorials 这 ...
- 《转》Linux下的多线程编程
原地址:http://linux.chinaunix.net/doc/program/2001-08-11/642.shtml 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程 ...
- JavaScript 中的事件对象(读书笔记思维导图)
在触发 DOM 上的某个事件时,会产生一个事件对象 event,这个对象中包含着所有与事件有关的信息.包括导致事件的元素.事件的类型以及其他与特定事件相关的信息.例如,鼠标操作导致的事件对象中,会包含 ...
- Git详解之六 Git工具(转)
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...
- sql优化-提防错误关联
在写sql时,在多表关联时,有时候容易把关联关系写错.一般情况下,该问题比较容易发现,但如果sql较长时,光靠眼力就比较难发现了.今天写了一个脚本,碰到该问题了. 第一版本的脚本如下: select ...
- Linux 内核升级步骤
1.解压内核文件包#xz -d linux-3.2.63.tar.xz #tar xvf linux-3.2.63.tar 2.拷贝解压文件到/usr/src#cp -r linux-3.2.63 / ...
- 番外:android模拟器连不上网
1.删除你PC端得备用DNS,只留一个即可.确保能够上网. 注意:这个虽然不是必须的,出错点也不一定在他,但是我建议这样做,因为我们不确定到底模拟器和我们的PC是否使用的是一个DNS,不是的话,就会造 ...
- The Django template language 阅读批注
The Django template language About this document This document explains the language syntax of the D ...
- WCF之添加自定义用户名密码认证
1.创建WCF服务应用以及调用客户端(请自行google). 2.创建X509证书 cmd 进入 C:\Program Files\Microsoft SDKs\Windows\v6. ...
- 蓝桥杯软件学院webserver,android