《敏捷软件开发》读书笔记 --项目开发过程中如何轻装简行

举报
看,未来 发表于 2020/12/29 23:58:06 2020/12/29
【摘要】 文章目录 为什么是《敏捷软件开发》极限编程实践完整团队计划游戏客户测试简单设计结对编程测试驱动开发改进设计可持续的速度 敏捷软件开发宣言结对编程《重构》读书笔记设计模式六大原则什么激发了软件设计的腐臭味 为什么是《敏捷软件开发》 我也想风驰电掣,快马加鞭。但是残酷的现实一次次的打在我的脸上。一天一天就这么的浪费在了无意义的编码上,不断的推翻,重建...

在这里插入图片描述

为什么是《敏捷软件开发》

我也想风驰电掣,快马加鞭。但是残酷的现实一次次的打在我的脸上。一天一天就这么的浪费在了无意义的编码上,不断的推翻,重建,推翻,重建。倒不是为了精益求精而改写代码,而是每一版都有逻辑上的大问题,以及需求的不明确,导致写出来的东西要么不能用,要么不合规。更有甚者,写到末期了,发现那临门一脚,迈不开,回溯到了前边不知哪一步了。

时间都去哪儿了?

为什么是《敏捷软件开发》?
当然是因为我有需求啊,而这本在我的书库里面躺灰的书的书名恰巧引起了我的注意。

不知它是或否能解决我的困惑呢?为我带来这曙光。

Tips:本文不涉及代码,还愿意继续吗
Tips:不但如此,还会有穿插文中的链接

在这里插入图片描述

极限编程实践

(本段出自《敏捷软件开发》,是我非常喜欢的一个片段,放在开头与大家共享)

完整团队

XP项目的所有参与者(开发人员、业务分析师、测试人员等等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。

关于这点,我前些天去我乐哥的公司玩儿的时候,就感受到了这种轻松愉快的氛围,还挺喜欢,这就是工作吗,那也是愿意上班的。

计划游戏

计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。

这个暂时还体会不到。曾经我的老师跟我说,程序员应该每个月都在项目期,这样的进步是非常快的。我也不知道对不对,但是让我这么搞,我这小身板儿怕是hold不住啊。

客户测试

作为选择每个所期望的特性的一部分,客户定义出自动验收测试来表明该特性可以工作。

简单设计

团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想表达的所有东西,并且包含尽可能少的代码。

这也是我一直追求的。以前是通过代码的不断迭代,但是现在我觉得应该是通过理论的不断迭代来达成这个愿景。

在这里插入图片描述

结对编程

所有的产品软件都是由两个程序员、并排坐在一-起在同一台机器上构建的。

这个我也曾努力过,但是他们都去上班了。。。

测试驱动开发

程序员以非常短的循环周期工作,他们先增加一个失败的测试,然后使之通过。

这个就是我一直对我的团队成员说的,每一个模块,在开始写之前应该先把测试的刁钻案例先写好,模块一写完马上进行测试。

改进设计

随时改进糟糕的代码,保持代码尽可能的干净、具有表达力。

可持续的速度

团队只有持久才有获胜的希望,他们能够以长期维持的速度努力工作,他们保存精力,他们把项目看做是马拉松长跑,而不是全速短跑。


敏捷软件开发宣言

个体和交互 胜过 过程工具
可以工作的伙伴 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划

墨子说:非贤无急,非士无与虑国

优质的团队固然重要,但是更为重要的是团队成员之间的协作。
详尽的文档固然重要,但是给你一本砖头一样的工具书你能看几页?
至于第三点,嗯,懂得都懂。。。


结对编程

我靠,这个实在是太喜欢了。倒也不是找不到人,只是没有去找。
好吧,是有点困难。

结对编程:所有的产品代码都是由结对的程序员使用一台电脑共同完成的。结对人员中的一位控制键盘输入,另一位观察输入的代码中的错误和可以改进的地方···

多好。实名羡慕。

理想中是这样的:
在这里插入图片描述

当然这样也是可以接受的:
在这里插入图片描述

总不能这样吧:(其实也并无不可,我要在后边)
在这里插入图片描述

靠,下次带团队项目就这么玩,,,
主要是我自己想玩


《重构》读书笔记

重构<1> 好好的项目为什么我要一遍遍重写
重构<2> 那些该回炉重造的回锅肉
重构<3> 我是一个类,难道我不配拥有专属测试代码吗?


设计模式六大原则

六大原则不熟?那你学什么设计模式!


什么激发了软件设计的腐臭味

僵化、脆弱、不牢固
粘滞、不必要的复杂、不必要的重复、晦涩难懂。

什么时候,我们写出来的代码变成了这样。

如果不服气,请找出自己两个月前写的开发代码。如果觉得还很不错,那要么是你的代码作风真的非常好,要么就是你这两个月就没什么进步。

在这里插入图片描述

我经常翻看自己以前写的项目代码,常常感慨:这写的什么狗屎?这段代码的算法思想是什么?WC,为什么注释乱写?????

哎。。。然后开始大改。

改到一半,实在受不了了,这还不如重写。

问题出在哪里呢?
首先就是设计的问题,代码结构设计不好,其实那时候的我们可能也就那个水平,只能设计出那样的结构来,也无话可说。
其次就是不写注释,或者乱写注释。不是说,程序员最讨厌的两件事就是:别人不写注释,和别人叫我写注释嘛。(我正在养成写好注释的习惯,尽量言简意赅)
再就是面向CV编程了。

少复制粘贴吧,实在不行,就手抄嘛,复制粘贴很容易出问题,特别是在变量命名上,有时候就把别的地方的变量夹带过去,又忘记改,回头来找还不好找。

对付时常变化的需求,就将功能封装成可拓展性强的模块吧。


我的困惑已经得到了解决,《敏捷软件开发》这本书里面的设计模式讲的也不错,后面我还会用这本书在整理一下我所学的设计模式。

不知解决了你的困惑吗,如果你发现看不懂那本书,或者看不懂我这么浅显易懂的文,敲个几万行熟悉一下就好啦,问题不大。

在这里插入图片描述

在这里插入图片描述

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/110794439

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。