本周二,Wiki之父Ward Cunningham在OOPSLA 2004大会上作了一次主题演讲,介绍了他在编程方面的经验。
所谓wiki,是指一种提供共同创作环境的网站,也就是说,每个人都可以任意修改网站上的页面数据。不过,Ward Cunningham在近一个半小时的演讲里很少提到wiki,而是重点介绍了他在编程模式和实践方面的一些经验。
Ward Cunningham在一年前加入微软,现在是微软模式与实践项目组的一名设计师。他在加入微软之前几乎涉猎过所有的编程模式,包括面向对象和敏捷建模。
他首先介绍了促使他提出wiki概念的一些原因,并和台下的听众一起回顾了他的思想发展历程。
Cunningham认为现在的程序员应该抛弃独立开发模式而转向协作开发模式,他说wiki正好提供了这样一种平台,让开发人员可以完善别人的工作。
他还强调了结对编程以及团队合作在编写程序时的重要性。结对编程是最近兴起的极端编程(XP)的一个重要原则。极端编程的其他几项重要原则包括:频繁地小规模发布软件,简单设计,集体拥有代码和持续集成。
Cunningham还建议与会者在工作中注意和同事合作,并且要学会调节自己的心态,在编程时避免疲劳和怀疑自己的能力,因为这两种心态会防碍人们做出正确的判断。他还鼓励程序员去从事多种岗位,以及将项目组分成若干小组来平衡发展自己的能力。
Cunningham语言幽默,他将编程中的一些问题和现实中的一些现象作了类别,如他把复杂的管理看成债务,把不能完成的任务当成贷款,把解决问题看作支付利息,把分解任务从而优化代码看作是偿还贷款。他还认为制定项目开发政策就像政府制定金融政策一样重要。