这段时间,按照俺的“三天不练,生”的百日计划,我每天都在阅读10页的CODE COMEPLETE。这是一本奇特的书。因为,每当我仔细品味其中的每个字眼的时候,很多额外的联想就会浮现出来。呵呵,这个算是浮想联翩吧!
现在你一定对俺今天的“浮想”有点兴趣吧?我的浮想就是这篇Blog的标题,“个人事务如果能够分治?”
在CODE COMPLETE大概80多页的时候讲到到程序开发的经典流程。提到可以在做完需求分析构建之后,可以将整个程序分为几个大的系统部分,然后确定各个部分之间的联系方式,再针对各个部分进行工作类的设计,接下来详细设计各个工作类的数据和方法以及对外的数据和方法接口,最后编写各个部分的详细的函数代码再进行整体的链接运行。整个过程和我们在算法设计中的分治的思想一样。就是一个总分总的过程。回想自己曾经写过的所有程序,真正按照这种流程完成的只有一次。那是我去年在微软亚洲研究院的时候,四个月的Chat Robot构建后,我被转到一个英法相互翻译的Project中。我接手了别人的代码。阅读了别人的代码后发现,其中使用了两种语言使用了MFC的C++的网络数据采集和基于C#的本地文本文件搜索。后来我将两部分代码的架构重新进行了设计。采用的方法就是上面提到的那种方法。后来感觉这种开发方法对于需求非常明确的程序可以很好的完成。事实上,据我了解,现在研究院中涉及到这个Project的代码采用的就是我当时撰写的那个架构上修改的。嗯,这次体验非常让人激动。但是后来便再没有采用这种方法来编写过程序。原因是诸多方面的,以后我会考虑继续在一些工具的帮助下使用这种软件开发方法,比如使用PyUT这个工具。
软件开发很多时候是一门综合性质的学问。包含的很多的方法学可以从其他问题中学习到,也可以将软件工程的开发方法应用到很多的其他问题之中。我想到的一个应用就是个人事务管理的问题。试想,如果我们能够很好的将个人事务划分成各个模块,然后分配好时间去完成各个模块,最后将各个模块的工作集成起来应该就能很好的组合起来。这个想法应该是过于理想的。因为,其中存在很多的问题。
比如个人事务如何划分?如何保证在完成某个事务模块的时候不会出现新的需求?如何将完成的各个模块进行很好的连接?问题很多,但是也不代表我们没有解决方案。比如,想到的一个个人事务管理方法是每天进行一次如下的操作。
1。前一天晚上将第二天需要处理的事务全部列出,然后按照类别和重要程序排序;
2。第二天早上根据刚刚收到的电子邮件、电话等将制定好的计划进行微调;
3。依次执行;
4。晚上先总结自己完成计划的情况,将完成情况数值化保存到一个文件中;
5。每周检查一下一周以来的计划执行情况,分析出现的问题和相关的原因,然后用于指导下周的计划制定方法和执行。
上面这个方法可以看成是一个自学习和启发式的方法,如果能够收敛的话一定会大幅度的提高个人的执行力的。
呵呵,那就试验一下吧~!
1 条评论:
Comment's author: hfjiang
05/17/2006 06:59:34 PM
昨天看到china-pub上面这本书在排行榜上占据第一位。
还在怀疑是什么炒作呢?看来应该是一本值的一读的书。
发表评论