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

📄 extremeprogrammingwithvisualbasic.html

📁 极限编程 Extream Programing
💻 HTML
字号:
<head><title>Extreme Programming With Visual Basic</title></head><body><h1><img src="logo.gif"> Extreme Programming With Visual Basic</h1><strong><em>Given that you can do <a href="http://c2.com/cgi/wiki?RefactoringInVisualBasic">RefactoringInVisualBasic</a>, is it practical/desirable/appropriate/beneficial/... to practice <a href="ExtremeProgramming.html">ExtremeProgramming</a> in <a href="http://c2.com/cgi/wiki?VisualBasic">VisualBasic</a>?</strong></em>
<p><em>(Technical comments on how to do <a href="http://c2.com/cgi/wiki?RefactoringInVisualBasic">RefactoringInVisualBasic</a> moved to that page.  And suggestions on how to do <a href="http://c2.com/cgi/wiki?VisualBasicImplementationInheritance">VisualBasicImplementationInheritance</a> moved to that page.)</em>
<p><hr>
<p>This is a vitally serious subject for the future of programming.  
<strong>The Professionals</strong> meets 
<strong>Mission Impossible</strong> ?
<p>Class Modules and Properties in VB5 and beyond (for all the Office 97 tools and standalone VB5 and 6) give you encapsulation, multiple instantiation of objects with proper object identity and a useful object browser.  It's true that there is no class inheritance (implementation inheritance).
<p>Now VB sure ain't uniform like Smalltalk - but the great news is that it's 
less strongly typed than Java - I trust that really encourages many of the people around here.  ;-)
<p><a href="RefactorMercilessly.html">RefactorMercilessly</a> most definitely can and must be done in VB.  But we find the lack of uniformity and internal simplicity in VB makes it far more difficult for many of us to conceive <em>the most simple thing</em> for <a href="DoTheSimplestThingThatCouldPossiblyWork.html">DoTheSimplestThingThatCouldPossiblyWork</a>.  This is a vital cognitive issue to have a grasp of, not just for future language and tool designers but for <strong>current</strong> XP coaches.
<p>Familiarity with any language and environment does I believe matter a lot for <a href="DoTheSimplestThingThatCouldPossiblyWork.html">DoTheSimplestThingThatCouldPossiblyWork</a> to lead to dramatic C3 type results.  What does the panel think on that ?
<p>Familiarity with VBA and VB is a much longer and tougher road to travel.  Yet the rapid feedback factor with VBA in Excel, say, can still be used to great advantage once the team knows its way around.  
<p>-- <a href="http://c2.com/cgi/wiki?RichardDrake">RichardDrake</a>
<p><hr>
<p>Can you maintain a relatively flat cost to make changes over time in VB? If so, the XP's DeferredDesignStrategy<a href="http://c2.com/cgi/wiki?edit=DeferredDesignStrategy">?</a> will work. Can someone who has lived with a VB app in production tell us if this seems plausible?  
<p><hr>
<p>Imagine for a moment that XP became the standard way of writing business software, and that, therefore, Microsoft wanted VB to become the standard tool for XP. What would Microsoft have to change about VB, if anything?
<p><em>It would be fairly easy to develop a refactoring browser for VB, altho it might be considerably weaker than the Smalltalk one. Also something like the <a href="KentBeck.html">KentBeck</a> testing framework, altho the one that Rational sells might do the trick.  One difficulty might be following the <a href="http://c2.com/cgi/wiki?OnceAndOnlyOnce">OnceAndOnlyOnce</a> rule without implementation inheritance.  Interfaces-only can give a decent object model, but seems to lead to a lot of cutting-and-pasting.</em>
<p>See <a href="http://c2.com/cgi/wiki?VbUnit">VbUnit</a>.
<p><hr>
<p>Detailed feedback should be available on a VBA5 development in around 3-4 months from around these parts. Would be very interested in others' views.
<p>I believe that it should not take very long for XP to become a key influence on <em>the standard way of writing business software</em>.  Big M might not be so slow to respond to this, given the trends outlined in books like <a href="http://c2.com/cgi/wiki?CodeComplete">CodeComplete</a>, and VB is indeed their development flagship, at least while a clean-room Java and JVM is still blocked by the courts. But it's certainly possible to be wrong on the timing of perfectly rational trends. -- <a href="http://c2.com/cgi/wiki?RichardDrake">RichardDrake</a>
<p><hr>
<p>For those interested the <a href="http://c2.com/cgi/wiki?VbUnit">VbUnit</a> <a href="http://c2.com/cgi/wiki?TestingFramework">TestingFramework</a> is available. -<a href="http://c2.com/cgi/wiki?BradTaylor">BradTaylor</a>
<p><hr>
<p>Although I don't have much experience with Visual Basic, everything I know
about it says that it will be better suited for <a href="ExtremeProgramming.html">ExtremeProgramming</a> than
C++.  Even the culture is better suited for it, because VB tends to be used
in places where there is little upfront design, where requirements change
all the time, and where documentation is not perceived as important.  The
problem with VB programmers is that they never refactor and they do not write
unit tests.  And they don't program in pairs, play the planning game, etc.
But I bet the hardest part is getting them to refactor.
<p>Anyway, you don't need a tool to refactor.  I've done heavy refactoring in C++,
and was refactoring Smalltalk programs for half-a-dozen years before having a
refactoring browser.  The main requirement for refactoring is a nose (to detect
<a href="CodeSmells.html">CodeSmells</a>) and a mind.  A specialized browser is very useful, but not essential.  -<a href="http://c2.com/cgi/wiki?RalphJohnson">RalphJohnson</a>
<p><hr>
<p>Question about &quot;When to clone a method&quot; moved to <a href="http://c2.com/cgi/wiki?CloneMethod">CloneMethod</a>.
<p><hr><a href="http://c2.com/cgi/wiki?edit=ExtremeProgrammingWithVisualBasic">EditText</a> of this page (last edited August 7, 2000)<br><a href="http://c2.com/cgi/wiki?FindPage&value=ExtremeProgrammingWithVisualBasic">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 + -