极限编程XP︱一文搞懂极限编程XP的关键实践
2022-11-10
来源:ZyBlog 码农老张
,只是说我们需要的是尽可能简单的设计它,让它尽快跑起来,通过持续发布来不断验证和完善。
之前听说过一个故事,也是程序员间的笑话。一个公司上来就是各种高精尖的技术,各种高并发的处理,引入了一大堆阿里、腾讯的功能架构实践。结果呢?每日最高只有可怜的几百日活。而这个项目做了多久呢?几百人的开发团队,一年的开发时间,最后不了了之。
还好,目前大部分公司都不会再干这种事。甚至很多公司都会以 MVP(最小可行版本) 的形式来进行新项目的开发。这是好事,也是值得提倡的。那么,在 XP 中,对于简单设计有什么建议吗?
编写测试代码
保持每个类只负责一件事(单一职责原则)
迪米特法则(最少知识原则)
DRY 原则
简单的设计需要简单的思考,要有勇于重构的勇气和定期重构的习惯
小组实践(一):持续集成
持续集成也是我们码农们经常听到的一个名词,甚至不少人也使用并实践过 Jenkins 、Travis CI 这类的持续集成工具。但是你知道吗?这些工具的诞生也正是因为受到 XP 的影响。
持续集成的关键点是什么?不断的编译整合代码,在你将代码提交到 Git 的时候,测试环境就开始进行单元测试,如果没有通过,那么会报出异常,如果通过了,就会直接打包代码。这样就可以使代码随时保持在可以发布的状态。因此,随时整合,越频繁越好,集成及测试过程的自动化程度越高越好,这就是持续集成的根本概念。
一般在自营业务的公司,都会有一个固定的代码上线时间,快一点的可能是每周一次。而持续集成期望达到的最低标准是每日集成,也就是每日都能让代码进行上线。当然,依托现代化的这些持续集成工具,其实我们真的可以做到随时提交随时集成并上线。
小组实践(二):隐喻
初看 隐喻 这个词感觉很神秘呀,这个玩意是什么意思呢?比较官方的解释是 “隐喻是一种语言表达手段,它用来暗示字面意义不相似的事物之间的相似之处”,用俗语来说,就是将设计模型、开发模式这些关键概念抽象化为一些比喻。就像一个经典的说法,你能给一个完全不懂软件开发的人讲明白数据库是干什么的一样,在这其中,相信你也会使用很多的比喻。比如说,数据库就是一个书店,我们要从这个书店中一个个的书架上找到想要书的,等等等。
在 XP 中,隐喻的作用主要是加强客户和程序员之间的相互理解,消化积累知识,指导设计的开发方向。具体来说,它可以帮助我们:
寻求共识
发明共享词汇(属于我们团队与客户交流的词典)
创新的重要手段(有时候恰当的比喻能够激发更多的灵感)
描述体系结构(让抽象的概念更加好理解)
极限编程XP的关键实践(二)
首先,我们依然是从这张图开始。
我们已经学习过的内容是最里面的那一圈的,也就是编程方法相关的四个内容,另外还加上中间那一圈的两个内容。
我们将继续聚焦小组实践剩余的三个关键实践以及交付和管理相关的内容,我们就一个一个的继续来看吧。
小组实践(三):编码标准
编码标准这个东西,看似和编程的相关性更大,但为什么会划分到小组的实践中呢?其实这个东西吧,一说出来大家就明白了。
XP 的目的,就是为了让小组有一个严格和规范的编码标准,这样就能代替文档,让代码成为小组成员间交流的工具。你说,这是不是一个小组工具
免责声明:
1、IT项目管理界发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。
2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!
-
延伸阅读:
-