本文作者:王德水 http://www.cnblogs.com/cnblogsfans , 转载请保留此处声明。
一、加速法则加速法则,就是能加快我们工作的一切的东西。
a. 删除启动面板多余的东西,一个应用程序列表的有用程度与它的长度成反比
下面我以win7为例,把All Program里常用的程序放到Start Menu里,移除Start Menu里没用的程序。
b. 把常用的程序和目录放到任务栏和桌面,下面是我的工作台。
c、使用应用程序加载器
d. 首选键盘,记住常用的 Win+E, Win+R,Alt+Tab等等快捷键,少用鼠标。
e. 使用多重剪贴板,减少来回切换的时间。
f. 记住历史操作。Linux下可以敲入History,但Windows下只能上下箭头。
g,开发加速器, 记住IDE快捷键可以大大提高开发速度。vsts有很多快捷键,请记住常用的。
二、专注法则
工作当中,专注可以很大的提高工作效率。
a. 排除干扰,隔离(带耳机)。
b. 关掉不必要的提示(更新呀,等等)。
c. 创造安静时间.
d. 搜索优于导航,使用有根试图.
e. 使用基于项目的快捷方式,多显示器,虚拟桌面
把项目的常用文件放置一个地方。使用虚拟桌面来分类。windows下有vitual desktop.
三、自动化法则
a. 不要重复发明轮子,SubVersion, CruisinControl, Trac, Mingle.
下面是我的项目的自动集成,可以参考我的系列教程 .NET环境下每日集成
b. 建立本地缓存。
c. 使用RSS订阅我们需要的信息。
d. 构建之外使用Ant,可以为我们执行一些常用的任务。
e. 用Rake执行常见任务,这个是Ruby下的,我的博客里有一些Ruby的入门文章一步一步学Ruby 。
f. 用Selenium浏览网页,我的博客里有点Selenium的教程http://www.cnblogs.com/cnblogsfans/archive/2008/12/23/1360320.html 。
h. 作者推荐使用Powershell,这个我目前还不会。读者可以自己去查相关资料。
四、规范性法则
规范很重要,这个可以减少不一致
- 使用版本控制。
- 使用标准的构建服务器。
- 文中作者提到利用虚拟平台备份每个项目的交付时的环境,这个很不错。
- 数据迁移,Ruby on rails里的Migration做的很不错,我们可以拿来使用,对数据可以做到很好的版本控制。
- 保持活的文档,过时的文档比没有文档更糟.
- 白板+数码相机强过任何CASE工具。
- 尽量自动生成所有技术文档。
- 数据库结构 SchemaSpy可以生成数据关系图。
- 减少重复,重复是软件开发中最大的阻力。
五、测试驱动开发
测试代表着软件开发行为中工程式的严谨部分。他可以帮你养成更好的对代码的“消费意识”,减少调试时间和副作用。
这里记录了我的一些TDD实践 http://www.cnblogs.com/cnblogsfans/category/167592.html
六、公民责任
每一个开发人员都是一个“公民”,我们要尽到公民的责任。
七、注释重构成方法。
这个观点很新颖,我非常赞同。
八、勿过度开发
YAGNI(“You Ain’t Gonna Need it”)你不会需要它,如无必要,勿增复杂度。
九、软件开发首先是一场沟通博弈。
沟通,沟通,再沟通。
十、致力本质复杂度,去除附属复杂度。
这点,我觉得对架构师很重要。
十一、高内聚,低耦合
- 在调用方法时,不要出现一个以上的. , homer.getJob().setPosition(“Jantior”) 。
- 把所有的实现细节封装在公共方法之外。
十二、关注古老的软件学说
旧的语言和软件学说,有时很有用,因为我们在继承时,可能丢了很多好的“传统”。看看《人月神话》吧,看看SmallTalk吧,也许你有不一样的收获。
十三、质疑权威
要有质疑权威的精神,不要成为一群《愤怒的猴子》。这个主要是讲一群猴子想吃房子里的香蕉,当它们每次爬上梯子时,主人就用冰水泼它,后来来了一只 新的猴子A,当A爬上梯子时,房子里的其它猴子都打他,最后房子里全部都是没有被泼过冷水的猴子,但是还是没有猴子敢去拿香蕉了,因为都是一群愤怒的猴 子。
十四、多语言编程
关注多语言编程,每个语言都有自己的特长,比如Erang适合并发程序,Ruby on Rails适合Web开发,让它们专注与自己的特长,今天的平台,明天的语言。
作者: 王德水
出处:http://www.cnblogs.com/cnblogsfans