📄 donwells.html
字号:
<head><title>Don Wells</title></head><body><h1><img src="logo.gif"> Don Wells</h1>Really named James Donovan Wells. He has been working with object oriented design since 1983. He started out as an <a href="http://c2.com/cgi/wiki?ArtificialIntelligence">ArtificialIntelligence</a> guy. AI fell by the way side but objects did not. Up until recently he did not have a reasonable methodology. But several years ago he had the good fortune to work on the <a href="http://c2.com/cgi/wiki?ChryslerComprehensiveCompensation">ChryslerComprehensiveCompensation</a> project with <a href="KentBeck.html">KentBeck</a>. As a C3 reject [I'd say "graduate". --rj], he was able to bring some order to the chaos of the <a href="http://c2.com/cgi/wiki?VcapsProject">VcapsProject</a>. But, being a rabid drooling <a href="ExtremeProgramming.html">ExtremeProgramming</a> fanatic he was cast out of Ford. He has moved back to <a href="http://c2.com/cgi/wiki?DaimlerChrysler">DaimlerChrysler</a> as part of their Advanced Development Technology Support group.
<p>He has contributed several lessons learned to <a href="http://c2.com/cgi/wiki?ExtremeProgrammingDotOrg">ExtremeProgrammingDotOrg</a>.
<p><a href="mailto:Don@ExtremeProgramming.org">mailto:Don@ExtremeProgramming.org</a>
<p><hr>
I have changed the way the <a href="http://c2.com/cgi/wiki?VisualWorks">VisualWorks</a> built in code formatting works. It is much closer to <a href="KentBeck.html">KentBeck</a>'s style in his book <a href="http://c2.com/cgi/wiki?SmalltalkBestPracticePatterns">SmalltalkBestPracticePatterns</a>. Down load it from <a href="http://jdonwells.home.mindspring.com/">http://jdonwells.home.mindspring.com/</a>
<hr>
<p><strong>Object Oriented proverbs</strong>
<p>If it isn't fun you're doing something wrong. <a href="http://c2.com/cgi/wiki?ItShouldSeemEasy">ItShouldSeemEasy</a>
<p>The most brilliant programmer alive can not compete with 6 ordinary programmers who function as a team.
<p><a href="ProgrammingInPairs.html">ProgrammingInPairs</a> is always faster.
<p>Anything you did today can be done tomorrow in only 15 minutes and be better.
<p>Who ever finds a problem knows enough to design a solution. <a href="XpDesign.html">XpDesign</a>
<p><a href="UnitTests.html">UnitTests</a> are your safety net, never work without a net.
<p>Your unit <a href="http://c2.com/cgi/wiki?TestingFramework">TestingFramework</a> is not a testing tool, it is a development tool.
<p>Whenever you can, <a href="http://c2.com/cgi/wiki?CodeUnitTestFirst">CodeUnitTestFirst</a>.
<p>Where there is a will there is a way to test. <a href="http://c2.com/cgi/wiki?ExtremeProgrammingChallengeFourteen">ExtremeProgrammingChallengeFourteen</a>
<p>During the life of a project an automated test will save you at least 100 times the cost of creating it. Therefore, the harder the test is to write the greater your savings.
<p>Test suits evolve over time, if you want to have a good suite of tests next year you must start collecting them today.
<p><a href="http://c2.com/cgi/wiki?OnlyWearOneOfFourHats">OnlyWearOneOfFourHats</a>.
<p>Skipping the <a href="UnitTests.html">UnitTests</a> takes longer. <a href="http://c2.com/cgi/wiki?VcapsProject">VcapsProject</a>
<p>A good design has a few simple flexible objects. Try explaining your design to someone else using <a href="http://c2.com/cgi/wiki?FourBlankCards">FourBlankCards</a>.
<p><a href="http://c2.com/cgi/wiki?SimpleIsntEasy">SimpleIsntEasy</a>, it can be the hardest thing you ever did.
<p><a href="DoTheSimplestThingThatCouldPossiblyWork.html">DoTheSimplestThingThatCouldPossiblyWork</a>.
<p>Maximize the number of good ideas, let everyone contribute. <a href="http://c2.com/cgi/wiki?CrcCards">CrcCards</a>, <a href="http://c2.com/cgi/wiki?MovingPeopleAround">MovingPeopleAround</a>, <a href="http://c2.com/cgi/wiki?CollectiveCodeOwnership">CollectiveCodeOwnership</a>.
<p>Make it work, make it right, make it fast.
<p>A simple solution takes significantly less time to implement than a complex one. <a href="http://c2.com/cgi/wiki?WaitingForSimpleIdeas">WaitingForSimpleIdeas</a> to come is actually faster.
<p>Embrace the oddities and bad data in your system. Represent it explicitly in your design.
<p>Use <a href="http://c2.com/cgi/wiki?CrcCards">CrcCards</a>, they make the design clear.
<p>Drawing a diagram by hand will help clarify the design or show you what is wrong.
<p>Use Smalltalk as a design and prototyping language. <a href="TheSourceCodeIsTheDesign.html">TheSourceCodeIsTheDesign</a>
<p>It's the right side of the brain that understands objects.
<p>Programming in Smalltalk is an art, write your programs so other people see the beauty of simple elegance too.
<p>UML, Booch, etc. diagrams can hide complexity, always draw an object <a href="http://c2.com/cgi/wiki?InstanceDiagram">InstanceDiagram</a> too.
<p>It's always faster and cheaper to throw away complex code now, no matter how much is already invested, working or not.
<p>A complex system will hit the wall of unmaintainability sooner than you think.
<p>Don't read <a href="KentBeck.html">KentBeck</a>'s <a href="http://c2.com/cgi/wiki?SmalltalkBestPracticePatterns">SmalltalkBestPracticePatterns</a>卽se it.
<p><hr>
<a href="http://c2.com/cgi/wiki?CategoryHomePage">CategoryHomePage</a><hr><a href="http://c2.com/cgi/wiki?edit=DonWells">EditText</a> of this page (last edited October 29, 2000)<br><a href="http://c2.com/cgi/wiki?FindPage&value=DonWells">FindPage</a> by browsing or searching<p><font color=gray size=-1>This page mirrored in <a href="index.html">ExtremeProgrammingRoadmap</a> as of March 31, 2001</font></body>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -