⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 designtoolsforxp.html

📁 极限编程 Extream Programing
💻 HTML
字号:
<head><title>Design Tools For Xp</title></head><body><h1><img src="logo.gif"> Design Tools For Xp</h1>Does anyone doing XP use design tools other than the programming environment itself? If so, what and why? If not, is that because nothing else is needed or because no one sells anything useful? What tools *would* be useful to support XP? --<a href="http://c2.com/cgi/wiki?JohnDaniels">JohnDaniels</a>
<p>Here are some:
<UL><li> <a href="http://c2.com/cgi/wiki?CrcCards">CrcCards</a> - used in small groups (2,3,4) to face fear before beginning the first test case, to quickly brainstorm alternatives, and to include the customer in discussions in a way that isn't possible from the source code
<li> <a href="http://c2.com/cgi/wiki?UmlDiagrams">UmlDiagrams</a> - used in nearly the same way- the diagrams are hand-drawn on a sheet of paper or a whiteboard
<li> <a href="http://c2.com/cgi/wiki?RefactoringBrowser">RefactoringBrowser</a> - I include this since amazingly enough it isn磘 part of everyone's environment
<li> StoryTelling<a href="http://c2.com/cgi/wiki?edit=StoryTelling">?</a> - can accompany any of the above, or used alone
<p></UL>I also use the ObjectExplorer<a href="http://c2.com/cgi/wiki?edit=ObjectExplorer">?</a> to understand what is there, but it is more of a reminder than any kind of synthesis tool.
<p>Which brings me to the second part of your question. Until we reach the limits of what can be accomplished with these technologically simple tools, we won't write (or buy) anything more complicated. When we can't move forward as fast as we want, we'll do something different.
<p>XP isn't explicitly anti- <a href="http://c2.com/cgi/wiki?ProjectManagement">ProjectManagement</a>/CASE tool, but it is pro-simplicity and pro-directness, which rules out all the tools I've seen. It's absolutely amazing what you can do with cards, and until I understand their limits I won't start programming something else.
<p>--<a href="KentBeck.html">KentBeck</a>
<hr>
Is anyone using tools such as TogetherJ (<a href="http://c2.com/cgi/wiki?TogetherJava">TogetherJava</a>) on an XP project? I'm thinking of tools that create diagrammatic visualizations of the structure of your code, rather than tools that encourage 'model first'. If you are, I'd like to know how you're using them and how useful they've been.
<p>--<a href="http://c2.com/cgi/wiki?JohnDaniels">JohnDaniels</a>
<p><p>In <a href="http://c2.com/cgi/wiki?XpAtArinc">XpAtArinc</a>, we use Rational Rose as a sort of computer-based <a href="http://c2.com/cgi/wiki?CrcCard">CrcCard</a> session.  While pairing, it's common for one of us to be much more familiar with the part of the code the pair is working on.  That person will open up Rose when a question comes up and use Rose to quickly sketch a static or dynamic model for the other person.  For static sketches, we don't use anything other than the ability to draw a class and connect it to another using inheritance or composition lines.  For dynamic sketches, we use the collaboration diagram and again draw objects and composition lines, occasionally adding a couple of methods across a connection to illustrate ordering.
<p>The technique is very successful.  Of course, we're using rose in a completely 'unauthorized' fashion, as a sort of dedicated whiteboard, but we like it anyway.  (One person on our team saves most of his sketches, as we have a document deliverable that can benefit from finished versions of some of the drawings, but let me stress that the resulting model file is <em>strictly</em> a process output for the team, not the input to any sort of design session other than the in-situ session that generated it.)  -- <a href="http://c2.com/cgi/wiki?MichaelHill">MichaelHill</a>
<p><em>Couldn't you scribble the diagram on a card faster?</em>
<p><hr>
At my current gig we're not really doing Xp, but we are following parts of it (extreme testing, aggressive refactoring, interative &amp; constant designing).  We use Together/J extensively, both for autogeneration of various bits of glue code required by the framework we're working with, and for modeling.  Our modeling is dynamic.. the object model is just another view of the code (and with TJ it really literally is).  It's working out great.
<p><a href="http://c2.com/cgi/wiki?DaveAstels">DaveAstels</a>
<p><hr>
I've used programmer's editors for years.  They make me go faster.  In the past few years, many of these editor's have obtained what I consider to be a killer feature -- something which really makes me go faster:
<p>You create an instance variable:
<p><PRE>  Portfolio p = new Portfolio();
<p></PRE>then you type:
<p><PRE>  p.
<p></PRE>and the next thing you see is a pop-up like this:
<p><p><PRE>  p. --------------
    | addLoan()    |
    | removeLoan() |
    | Portfolio()  |
    | toString()   |
    | etc.         |
     --------------
<p></PRE>This helps me:
<p><PRE>  * Remember the names of methods
  * Remember what the class can do
  * Save time by not having to jump somewhere to lookup methods
  * Quickly navigate a body of code I don't know well
<p></PRE>In addition, some editors take this a step farther.  When you highlight methods in the pop-up, the editor displays the method's <a href="http://c2.com/cgi/wiki?JavaDoc">JavaDoc</a> comments.  And when you do select a method, you are then prompted, via pop-ups again, to input the correct parameters for the method.
<p>A fellow programmer turned me on to VisualSlickEdit<a href="http://c2.com/cgi/wiki?edit=VisualSlickEdit">?</a>, which does everything I mention above, and a whole lot more. It has definitely made me go faster - and it's Code Beautifier is a thing of beauty (use it to implement team <a href="http://c2.com/cgi/wiki?CodingConventions">CodingConventions</a>). --<a href="http://c2.com/cgi/wiki?JoshuaKerievsky">JoshuaKerievsky</a>
<p><hr>
<p>What about Wiki as a project design and discussion tool - including the customer(s)?  How should wiki be used with <a href="http://c2.com/cgi/wiki?IndexCards">IndexCards</a>, a <a href="http://c2.com/cgi/wiki?RefactoringBrowser">RefactoringBrowser</a> and ObjectExplorer<a href="http://c2.com/cgi/wiki?edit=ObjectExplorer">?</a>. These four I think would satisfy me for a long while - especially if I had the last two in <a href="http://c2.com/cgi/wiki?VisualAge">VisualAge</a> for Java.  Having said that, in our excitement last year I came to feel we ended up using our Wiki clone a bit too much and losing card and face to face contact more than was best (see <a href="http://c2.com/cgi/wiki?KnowingWhenToStop">KnowingWhenToStop</a>).
<p>What are other people's experience? How much did C3 benefit from the XP discussions on <em>this</em> Wiki?  Or was it all cost, for the greater good? 
<a href="http://c2.com/cgi/wiki?IndexCards">IndexCards</a> certainly seem best in the coffee shop.
<p>--<a href="http://c2.com/cgi/wiki?RichardDrake">RichardDrake</a><hr><a href="http://c2.com/cgi/wiki?edit=DesignToolsForXp">EditText</a> of this page (last edited January 24, 2000)<br><a href="http://c2.com/cgi/wiki?FindPage&value=DesignToolsForXp">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 + -