入职一个月和《CLR via C#》初读

5月5日入职,开始我的第一份工作,成为了一名MS Vendor的SDET。转眼到现在已经一个月有余了,应该说我在没有太大压力的情况下,顺利地完成了这次转变!

 

我不认为第一份工作做什么重要,重要的是形成正确的观念,形成比较明确的方向,何况测试也是一个很有前途的方向,无论如何我算是入了这一行了!

 

其实有很多很多可以写的东西,但我还是想把重点集中在 我这段时间在学习上的收获,尤其是在编程技术上的收获。

 

入职后短暂的环境适应,马上转入自学VB,资料是VBLS80,MS公开的一份规约文档,后来发现其实就是MSDN Lib的内容。看了大概两个礼拜,作为对VB的了解,内容上有点枯燥,而且作为规约文档,没有太多的展开讨论。这应该作为一个引子吧,读什么不重要,关键在于找到读的状态和方法,所以有很多时间消耗在了对篇章结构的把握上,还有对OO基础概念的理解上,以及英语阅读中存在的障碍上。

 

回过头来考虑这个安排,觉得这是一个好的做法,事实证明在专业词汇的积累,对材料的组织利用上,确实起了很大的作用,看后面的东西时省力了不少。作为阅读的目的,也是直接收获:认识到VB并不是一门简单的语言,也许它更好更直接的体现了OO的思想,和对.Net技术的应用,应该给予一定程度的重视。不过毕竟C#才是.Net招牌语言。

 

过了两周,以为应该算是补了些基本知识,可以开始接手具体工作了。这时候才了解到,其实具体工作的难度不大,而且马上要全面转向C#语言的使用,测试工具和项目的组织结构也在面临更新,组里很多人去Redmond沟通和培训。DEV10上个月刚刚发布,现在算是个空档期。

 

5月21日开始认清这个形势,就把计划转移到C#的学习上,并且做好了长期没有具体工作,自由支配时间的准备。这对于刚刚开始工作的我是件好事,我在学一些可以为自己增值的东西,不被琐碎的工作所累,又有工资拿。

 

5月24日正式开始看《CLR via C#》的PDF版,免费的,而且是最新的第三版。现在炙手可热的书,很多人都在看。但是在电脑上看,眼睛很累,并且我在电脑上做事的效率是比较低的。所以在china-pub上买了本影印版的第二版,还送了本定价128元的《Pro C# with .net 3.0》中文版,赚到了。

 

阅读中发现,《CLR via C#》里面大多是些概念性的东西,有些确实很有深度。而且我很喜欢读这本书的体验,作者会做一些很主观的评价,使你感觉到是在和他进行沟通,不同于教科书式的说教。

 

这本书其实并不能算是一本讲C#的书,而是深刻揭示了.Net运行机制,书名也恰如其分的说明了这一点。C#和.Net貌似密不可分,其实也不尽如此。我还是非常喜欢这种揭示原理的类型,和《Pro C# with .net》书名的区别就说明了侧重点的区别。两本书都是经典,但我个人明显要喜欢Jeffery Richter这一本。

 

这本书前面比较详细的介绍了.Net运行机制,大概有全书八分之一的篇幅,我认为这非常必要,我喜欢看这种比较虚的东西,经典前面往往会有很大篇幅这种概览性的文字。后面主要就是两大块了,第三版加了五章Threading内容,其实可以另外出书了。前一块是类型,类型可分为两部分,第一部分叫做designing types,第二部分叫做essential types。后一块就是facilities,也就是CLR在机制上提供了什么设施。个人认为前一部分应该更精读一些。

 

其实读了也就发现,新东西也不过如此,目的不是功能变得有多强,而是通过帮你做好更多底层的东西提高生产力,这样人们可以不学很难很核心的东西就可以做事的方法而已,这是在简化工作而不是增加负担。清楚了这一点,又具有一定的理论基础,读起来也就没什么压力,完全可以作为兴趣来了解,和大师对话来提高觉悟吧!

 

到现在已经读了两周了,读到了第10章,也就是designing types 的最后一章。读完了可以认为进行完了四分之一吧!是讲events的,上礼拜五状态不太好,读了一天没怎么读好。本来想读的好不好反正读过了,这周开始进入下一部分。周一又用了一天,也只是理清了思路,还不是很清晰。

 

很奇怪篇章的安排,为什么第15章才讲到delegates,而前面就讲到了delegates’的主要应用呢,而且designing types和essential types是按照什么划分的呢?如Jeffery所讲的,他个人不喜欢Properties,觉得这种types没必要存在,那为什么还要放在designing types作为更基础的types呢?

 

 

events是我学.Net遇到的第一个难点,经过了解才发现,这也是C#的精髓所在,所以并不丢人。攻克下来的话,就是解决了一个核心问题,这是一个大的收获。

 

第一篇就讲这么多,后面可能会做一些总结,比如events的理解、基本概念的总结之类的。如果有机会的话,我想提出比较本质的问题,然后再做出回答,作为一些Milestone吧。问题往往比答案更重要,也会使人更清楚前进的方向!

posted @ 2010-06-07 19:15  Atom's lab  阅读(1757)  评论(6)    收藏  举报