软件开发中的理想与现实系列连载

来源:互联网 发布:财务报表的主要数据 编辑:程序博客网 时间:2024/06/01 21:49
a.menu { color: #000000!important; font-weight: bold!important; text-decoration: none!important;}a.menu:hover { color: #FF0000!important; font-weight: bold!important; text-decoration: underline!important;}因为有了一些想法,所以开始写这个连载,不过随着连载篇数增多,越来越发现不利于各位朋友查找和阅读,所以就把所有文章在这里汇总,方便索引。
以下链接将不断更新、增多,欢迎各位朋友发表自己的意见,无论是褒是贬,我都无所谓。毕竟在软件开发中,我的确还是一个很菜的菜鸟。

最后更新:2006年5月9日

<目录>
软件开发中的理想与现实(引子)
软件开发中的理想与现实(一)——先把观念引进门
软件开发中的理想与现实(二)——让测试驱赶着我们的步伐
软件开发中的理想与现实(三)——用重构来清扫战场
软件开发中的理想与现实(四)——兴致勃勃做计划
软件开发中的理想与现实(五)——知己知彼,百战不殆
软件开发中的理想与现实(六)——给自己留颗后悔药
软件开发中的理想与现实(七)——有备才能无患
软件开发中的理想与现实(八)——温故而知新
软件开发中的理想与现实(九)——三个臭皮匠,顶个诸葛亮
软件开发中的理想与现实(十)——臭皮匠们的思考方法
软件开发中的理想与现实(十一)——够用就好
软件开发中的理想与现实(十二)——作坊的经理失业了
软件开发中的理想与现实(十三)——新的培训即将开始

<摘要>
软件开发中的理想与现实(引子)
摘要:软件开发实在不应该是一个令人厌恶的工作,而更应该像一种艺术家的创作,充满新意和乐趣。可是,我看过不少软件开发者却一直在写另自己都厌恶的代码,做连自己都不敢正视的测试,最后在项目完成时长叹一口气,将自己的成果束之高阁、不敢再碰。 造成这种窘境的根源在哪里?是谁让开发人员做出连自己都感到厌恶的东西?

软件开发中的理想与现实(一)——先把观念引进门
摘要:大家都还不了解我的想法,当然无法按我的想象开始工作,为此我准备了为期三天的培训,为他们介绍我所要引进的东西。它们列在下面: 1. 测试驱动开发 2. 迭代开发 3. 每日会议

软件开发中的理想与现实(二)——让测试驱赶着我们的步伐
摘要:今天的重点是测试驱动开发的体验,为了方便实施自动单元测试,一个成熟易用的测试框架当然必不可少。我们项目采用C++开发,CppUnit当然成了最佳选择。 CppUnit非常好用,特别是它的帮助文档中还有贴心的“CppUnit Cookbook”和“Money, a step by step example”,使得我们很容易入手,不过真正麻烦的是:何时做测试、如何选择测试用例和如何选择测试的粒度。

软件开发中的理想与现实(三)——用重构来清扫战场
摘要:重新检查大家的代码,我有种想重写的冲动(呵呵),不过这正合我意,因为今天的工作就是清扫战场,做清扫的人当然是大家。 作为一种优化性质的修改,最关键的就是保证原来已实现的功能不能消失、接口不能够改变。这在原来真的挺难做到(嗯,我很讨厌那种一波未平、一波又起的解决 问题方式,那是一种折磨),不过现在有了单元测试用例做保证,那就没有任何疑虑了——只要通过了如此充分的单元测试,原有的功能当然没问题啦。OK,麻烦 一个个被解决,无论是简单问题还是复杂问题,我们始终可以很放心的对原来的代码动刀子。

软件开发中的理想与现实(四)——兴致勃勃做计划
摘要:作为一个最不专业的解释,计划游戏就是在现场客户、开发人员、相关负责人员的参与之下,分解、分配和估计任务的活动。之所以可以称之为游戏,因为这 个活动充满了游戏性:由客户编制一些“故事卡片”,并初步标明一些优先级,用于描述自己的需求,然后开发人员估计它们;客户可以选择自己最想要实现的“故 事”是哪些,并和开发人员一起商定能够实现的时间,开发人员通过不断的优化对故事的任务分解和协调每个人具体的任务来尽可能满足客户的要求。每个开发人员 都有选择任务的权利,实际上,任务在最开始都应该是自主选择的,而不是强制指定的,就算选择任务的人并不是“最适合”的人。不过为了满足客户的一些急切的 愿望,引导者应该能够兼顾兴趣和效率之间的关系。

软件开发中的理想与现实(五)——知己知彼,百战不殆
摘要:昨天大家已经各自认领了一些人任务,也做了一些事情,不过如何知道互相之间进展呢?先从每日会议开始吧!

软件开发中的理想与现实(六)——给自己留颗后悔药
摘要:做完今天计划的事情还剩下一些空余的时间,这可不能浪费,已经是培训最后一天了,还有一些简单但又关键的东西需要掌握呢! 首先我要跟大家讲的是配置管理,从某种意义上来说等同于版本控制(但不能划等号)。

软件开发中的理想与现实(七)——有备才能无患
摘要:然后要说的是风险管理。 “风险”这个词很好懂但不容易精确定义,主要麻烦是它和“问题”之间的关系。

软件开发中的理想与现实(八)——温故而知新
摘要:回顾2月15日晚我所讲的内容,我在这三天最想引进的东西是: 1. 测试先行 2. 迭代开发 3. 每日会议 这些是我认为最为核心的东西。 此外我还介绍了以下内容: 1. 重构 2. 计划游戏 3. 配置管理 4. 风险管理 这是项目中必须要经历的或者要用到的东西,它们极为常用也非常有用,无论是怎样的软件项目都需要关注这些问题。

软件开发中的理想与现实(九)——三个臭皮匠,顶个诸葛亮
摘要:2月20日,项目正式开张的第一天,我们就遇到大难题了。

软件开发中的理想与现实(十)——臭皮匠们的思考方法
摘要:2月20日真是令人难忘的一天。我们从无到有、从郁闷到兴奋,在此期间,大家都围着白板陷入痴狂,而且我们最终真的设计出来一点东西,可以开始往前走了,这感觉令人着迷。 不过我们确实还是走了很多弯路,在这里还是有很多经验教训值得总结。

软件开发中的理想与现实(十一)——够用就好
摘要:接下来的时间里我一直在权衡,说实话,我不想放弃这种“完全没有耦合”的完美设计,但又不想在系统设计之初就开始构建自己的基础库,这似乎是一种经典的过度设计。 …… 我真的需要如此之低的耦合度么?

软件开发中的理想与现实(十二)——作坊的经理失业了
摘要:项目刚开始的时候会遇到很多问题,特别是架构的设计会出现很多变故。昨天刚经历了“过度设计”的事件之后,使我更加认识到真实项目的艰险——这仅仅是一个实验项目,难度也不高,但前两天过的就那么的有声有色,还是有点出乎意料。嗯,可以想象,今天也绝对不会平淡。 果然,“作坊”出事了!

软件开发中的理想与现实(十三)——新的培训即将开始
摘要:大家都从测试先行和迭代开发中尝到了甜头,每日会议也不会那么拘束了,每天都会感觉有所收获。这种感觉令人着迷,也让我对自己推行的东西更加有信心了。 不过,我们项目中始终有一项风险,那就是我的时间投入可能不够。这个星期,我为了让小组能够按我的想法工作,我投入了绝大多数时间在这里,而把管理另一个项目组的事交给其他几个同学负责去了,而实际上,那才是我最初最重要的工作。
原创粉丝点击