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

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.

主站蜘蛛池模板: 德清县| 泰兴市| 茂名市| 柳河县| 千阳县| 新晃| 德清县| 宁陵县| 米泉市| 固阳县| 云阳县| 白水县| 崇明县| 台前县| 武乡县| 嘉定区| 兴城市| 鸡东县| 岐山县| 靖边县| 鄄城县| 房产| 南涧| 康乐县| 达日县| 明光市| 安达市| 淮北市| 高阳县| 武隆县| 石楼县| 丹巴县| 长丰县| 嵊泗县| 三江| 洪雅县| 勃利县| 大英县| 扎赉特旗| 玛曲县| 牡丹江市|