官术网_书友最值得收藏!

Background

The following timeline shows a brief history of Extreme Programming (XP):

The 1990s was the beginning of another paradigm shift for the software industry as Object-Oriented Programming began to replace Structured Programming. As a way to explore how they would use this new approach, the Chrysler motor company decided to build their payroll system in Smalltalk, an OO programming language.

Initially invited to performance-tune the system because of his knowledge of Smalltalk, Kent Beck was asked to lead their software team in 1996. In Kent's potted history of XP, he says that, before joining Chrysler, he had asked teams to do things he thought were important, such as testing and reviews. This time, at Chrysler, he felt there was a lot more at stake, so Kent asked the team to turn all the dials up to 10 on the things he thought were essential and not to bother with the ones he thought weren't.

For instance, peer review is considered so important; when dialed up to 10 we do peer review all of the time. If all code is written while working with another programmer, we are code reviewing continuously. So XP makes the rule that all software that is destined for a production environment must be Pair Programmed. 

He applied the same thinking to unit testing. XP deems unit testing so valuable it makes it a rule to write the unit test first before any code is written. 

Writing tests first, also known as  Test-Driven Development  ( TDD ), is a practice that supports the creation of simpler code designs because just enough code is written to fulfill the test specifications. The resulting automated test suite also inspires the confidence to make subsequent changes to the specification tests and code, in the knowledge that if the tests still pass, other parts of the system are unaffected by the change. 

So this is how XP got its name. It prescribes core programming practices and turns the volume on each up to maximum, taking them to the extreme.

主站蜘蛛池模板: 图们市| 雅江县| 文化| 兰考县| 桂平市| 社旗县| 南陵县| 宜兰市| 东丽区| 张北县| 北碚区| 扶余县| 灌阳县| 苏尼特左旗| 将乐县| 墨竹工卡县| 烟台市| 祥云县| 徐州市| 甘孜县| 谢通门县| 长葛市| 乃东县| 达尔| 寻乌县| 星座| 凉城县| 鹤峰县| 夏邑县| 缙云县| 太湖县| 应用必备| SHOW| 洞口县| 龙门县| 浦北县| 玉环县| 井陉县| 南木林县| 仲巴县| 阿拉善左旗|