Groups    |     Jobs    |      User Space 

Hello, pls   log in or   register


  Freedo & his space


Notes

只是巧合,27号的时候BG发邮件给大家说,将从那天起退出日常的管理。从28号起我也休了一周的假。

在休假的时候,除了在工地上,就是在看敏捷开发《Agile Software Development: Principals, Patterns, and Practices》和写一个注册程序模块。

Martin的这本书影响很大,因为自己还是一个纯粹的门外汉,属于饥不择食,一通乱看,却又很少有大块时间能够静下来看的那种。

影响在两个方面:
一是软件工程之美。让你醉心于此,简单的实例,美妙的模型。
模块我很快就写好了,加上一些调试,700多行代码几个小时之内写完,能够work。接下来整六天时间一边捧着书看,一边把它进行重构,尽量减少它所散发出来的“腐朽”的气息。
到休假结束终于写完的时候,只有一个感觉,以前自己从来没用这种方式写过代码。

很多Principles理解只基于表面,作为rules No.1 拨离共同点,拒绝重复,Single Responsibility Principal 还是能执行的。
Design Pattern里面也一再提到了直到最后才考虑数据库层面的东西,尽量不要被底层细节所束缚。
有一个观点在国内互联网开发当中比较流行,就是“所有的互联网的应用归要到底是数据库的应用”。个人认为欠全面,如果过早地沉到数据库层面或者纠缠于细节,编着编着代码里腐朽的气味就出来了。很多程序在网络上还是面向procedural上面的,也许也是基于这个原因。
另外也讲到了Proxy Pattern,把对数据库层面的操作拨离开,使软件能独立于具体的数据库平台和语句,后考虑性能和缓存的问题也可供借鉴吧。

另外,书中的道理应该非常明白地回答了一个问题:到底是 c++ 好, c# 好还是 java 好? 对这个问题的回答基于对问题:软件工程的目的是什么 的理解。哪一种工具能够帮助你非常迅速 Agile地部署面向对象的设计和开发,最灵敏地满足客户的需要,它就是好的工具。 不管今后还有多少初学的人在询问该学哪一门,c#都将具有长足的生命力。BTW, CLR 的 PM Brandon 在Zizhu 访问了很长时间 :)

第二个方面是,教我怎么写第一句代码。

不是说" hello world", 而是他将 agile development 的理念一直贯穿,了解需求或者说确定功能模块之后(这中间UML是重要沟通工具之一,详细的文档不是必需的,图也不是在任何场合都能起作用),第一行应该是测试用例代码。

100% test driven, 在我理解是使用用例, 基于test case 来写代码, 通过了不断调整的测试代码的程序,也就满足了功能的程序。在当中不断对代码进行重构,并且保留测试程序。

所以在最后一次重写代码的时候,我写的是第一行是 switch (), case : case: ... 虽然这不是最后看起来的代码,但是它确实让我保持在清醒正确的方向上面。

 



tags:

@ 20080706 21:06:46 with 0 comments    





Say something...     (I want to register here before say something)

my name: (required)
my blog: (optional)   



Input autho code, click on image to change another code:




About Freedo 关于作者

微软中国 SQL Server 招聘顾问
研发中心:北京、上海
喜爱编程、轮滑
个人项目: 易麦

Microsoft Staffing Consultant
SQL Server China R&D Center
Living in Shanghai
Love Soccer; Roller & Coding;

和我联系 Contact:
Guestbook 给我留言
my facebook
my linkedin



Copyright 版权
本站博客全为原创。遵循
欢迎非商业用途转载,务必注明作者、原出处及超链接。


Recent comments:
== 20081230 11:25:21
陕西北路延安路阿 我 ...
== 20081126 21:35:33
你说得有道理,已贴:http: ...
== 20081118 15:49:00
一般不这么干。 一般 ...
== 20080804 16:42:57
已复 :)
== 20080801 14:06:53
这道题还真不太容易,我把 ...
== 20080604 22:50:38
Thanks for your report, which is tr ...


Archieves
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
Jun 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
Jun 2007


Links 友情链接
易麦 e-mag
SQL team blog in Chinese



和我交换链接
加入 收藏

  rss 订阅