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

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.

主站蜘蛛池模板: 格尔木市| 会东县| 昭平县| 克什克腾旗| 平果县| 琼结县| 蓝山县| 柘荣县| 普洱| 犍为县| 军事| 田林县| 呼伦贝尔市| 博白县| 科技| 宁南县| 甘南县| 阳新县| 乳源| 邵武市| 望谟县| 永济市| 荔浦县| 本溪| 通榆县| 朔州市| 栖霞市| 贞丰县| 萨嘎县| 肥东县| 西华县| 叙永县| 越西县| 罗江县| 西峡县| 泰安市| 澄迈县| 乌什县| 安多县| 织金县| 澜沧|