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设计规范》这本标杆在。本书的作者来自微软.NET Framework团队,讲述了他们在设计.NET时的一些决策过程,包括命名规范、类型设计,同时还有经验丰富的框架设计师、业界专家及用户给出的评注,为书中的许多规范增色不少。并且,它不仅对于.NET的代码规范,对于其他语言来说,也大有裨益。

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

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

C#读书的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中

    #coding=utf-8from time import sleepimport unittestfrom selenium import webdriverfrom selenium.webdri ...

  3. 【读书】PHP程序员要读的书目(不断完善中)

    本文地址 分享提纲: 1. PHP 2. Linux 3. Apache/Nginx 4. Mysql 5.设计模式/架构 6. 缓存并发 7. 其他语言 8. 代码基础 9. 大前端 10. 管理生 ...

  4. 《图解HTTP》读书笔记

    目前国内讲解HTTP协议的书是在太少了,记忆中有两本被誉为经典的书<HTTP权威指南>与<TCP/IP详解,卷1>,但内容晦涩难懂,学习难度较大.其实,HTTP协议并不复杂,理 ...

  5. 《图解TCP/IP》读书笔记

    一.国际惯例:书托 这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识.掌握TCP/IP的基本技能. 书中讲解了网络基础知识.TCP/IP基础知识.数据链路.IP协议.IP协 ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 【读书笔记】2016.12.10 《构建高性能Web站点》

    本文地址 分享提纲: 1. 概述 2. 知识点 3. 待整理点 4. 参考文档 1. 概述 1.1)[该书信息] <构建高性能Web站点>: -- 百度百科 -- 本书目录: 第1章 绪论 ...

  8. [转]ThoughtWorks(中国)程序员读书雷达

    http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/#rd?sukey=f64bfa68330 ...

  9. 《深入理解Java内存模型》读书总结

    概要 文章是<深入理解Java内容模型>读书笔记,该书总共包括了3部分的知识. 第1部分,基本概念 包括"并发.同步.主内存.本地内存.重排序.内存屏障.happens befo ...

  10. 《MySQL 必知必会》读书总结

    这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...

随机推荐

  1. linux下的开源移动图像监测程序--motion编译与配置

    前几天在网上偶然看到一篇博客,是利用linxu下的开源的motion搭建嵌入式视频动态监控系统,感觉很好很强大于,是就想自己编译移植一下试试. 所谓移动图像监测,简单来说就是利用摄像头定点监测某个区域 ...

  2. POJ2599+POJ2082【最大矩形面积】

    题目链接:http://poj.org/problem?id=2559 题目链接:http://poj.org/problem?id=2082 这一类题目的解法,不知自己闲着没事就做了两个. 果然压栈 ...

  3. svn经常使用命令具体解释(非常全,非常有用)

    ubuntu下安装subversionclient: sudo apt-getinstall subversion subversion-tools 1.检出 svn  co  http://路径(文 ...

  4. PV(访问量)、UV(独立访客)、IP(独立IP) (转)

    网站统计中的PV(访问量):UV(独立访客):IP(独立IP)的定义与区别今天使用了雅虎统计,看到里面就有这个,就说说,其实里面的uv大家可能觉得很新奇,但是和站长统计里的独立访客是一样的嘛.---- ...

  5. SCU 2009(数位dp)

    传送门:Zeros and Ones 题意:求总数位为n包含0和1个数相同且整除k的二进制数的个数. 分析:设dp[pos][num][md]表示还有pos位已包含num个1且模k余md的符合条件的二 ...

  6. linux zombie process相关学习

    1. zombie process是什么? zombie process是那些在系统中已经死掉的process, 通过ps -A | grep defunct可以查看系统中有多少zombie proc ...

  7. JSP路径出现故障

    1.错误叙述性说明 2.错误原因 <%@ page language="java" import="java.util.*" pageEncoding=& ...

  8. 开发指南专题4:JEECG高速微云开发平台--JEECG开发环境的搭建

    开发指南专题4:JEECG微云高速开发平台开发环境搭建 1. JEECG开发环境搭建 JEECG推荐的开发环境为Myeclipse8.5/Eclipse3.7+JDK1.6+Tomcat6.0 1.1 ...

  9. 你真的了解mysql的varchar字段的长度有多少吗?

    今天在设计系统字段的时候, 发现自己对varchar还不够了解.我设了一个字段.类型为VARCHER,然后我就往里面测试性了写了东西.发现没有多少就满了.我觉得奇怪,5.5版本以上的MYSQL不是有6 ...

  10. hdu2050(递推)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050 (1) n条直线最多分平面问题 题目大致如:n条直线,最多可以把平面分为多少个区域. 析:可能你 ...