Article View: nl.comp.programmeren
Article #399Re: wordt refractering veel gedaan?
From: Jaap Beetstra
Date: Wed, 19 Jan 2005 00:47
Date: Wed, 19 Jan 2005 00:47
93 lines
5419 bytes
5419 bytes
John Bokma wrote: > Jaap Beetstra wrote: > >> John Bokma wrote: >>> Ik heb dat nog nooit gezien, flexibele software. Altijd als je iets >>> wilt wat er net niet inzit kan je of de boel omgooien, of een >>> wrapper schrijven. >> >> En later zeg je dit: >> >>> Het juiste ontwerp is er een die minimaal gezeur geeft, en bestaat >>> dus wel degelijk. Een ontwerp is altijd beperkt tot de >>> mogelijkheden. Dat er achteraf een beter is, tja, dat is normaal. > > Klopt, ik spreek mijzelf niet tegen (denk ik). > >> Voor mij liggen minimaal gezeur en flexibel dicht op elkaar. > > Flexibel vind ik een editor gemaakt voor Perl, die opeens ook perfect > werkt met elke willekeurige andere programmeertaal, taal, enz. Ok, nu > niet allemaal Emacs roepen :-D. Als je dat opeens weglaat, ben ik het met je eens. Een editor die zo aan te passen dat-ie ook werkt met een andere programmeertaal, in kortere tijd (zo kort mogelijk) dan een volledige rewrite. Software die opeens buiten specs werkt ken ik ook niet, maar software die uit te breiden is zie ik gelukkig nog wel eens. > Het juiste ontwerp voor een Perl editor is er een die minimaal gezeur > geeft. (En ik betwijfel of die zomaar uit te breiden is), > >> Software >> waar ik nieuwe functies aan kan toevoegen is flexibel, > > Precies, en flexibiliteit bereik je niet met minimaal gezeur. Dat is > bloed, zweet & tranen. Ontwerpen, prototype, terug naar de tekentafel, > etc. Hee, prototype, code in de ontwerpfase :) >> en geeft minimaal gezeur. > > Op het moment van toevoegen, klopt. Maar daarvoor heb je veel gezeur > gehad. Wellicht een aantal complete rewrites en een berg hacks. Het > toevoegen gaat altijd probleemloos als het van te voren voorzien was. > En dan zat het of in het ontwerp, of heb je stiekem dingen aan zitten > passen (ik sluit 100% geluk even uit). Yep, het zat in het ontwerp, of ik heb zitten refactoren. Maar het ontwerp is bij mij niet het resultaat van een ontwerpfase, maar van continu ontwerpen tijdens een iteratief ontwikkelproces. >> Software waar ik niet de gewenste functies aan kan >> toevoegen, is niet flexibel, en geeft gezeur. >> Die tweede categorie is makkelijk te herkennen. >> >> Waarom zou je ontwerpen als het niet is om later wijzigingen door te >> kunnen voeren? > > Om met minimaal gezeur een zo goed mogelijke oplossing te vinden voor > een probleem. Ik ontwerp vaak software die daarna niet meer aangepast > hoeft te worden. Of als het aangepast wordt is het meestal iets > kosmetisch, of een bug fix. > > Waarom zou je Emacs gaan zitten ontwerpen als je cat nodig hebt? En > wat zou je aan cat toe willen voegen? Mee eens. Maar als een klant vraagt om UltraEdit, waarom zou ik hem dan een jaar laten wachten tot alles af is? Na twee weken (oid) kan hij NotePad krijgen, waar hij alvast zijn eerste klusjes mee kan doen. Na een maand of 2-3 heeft hij de 20% van de functies die hij 80% gaat gebruiken. Na een jaar het totaal. En zelfs al is het na 15 maanden, omdat refactoren meer tijd kost dan gedacht, dan heeft hij al 12 maanden lang op 80% kunnen werken, tegen anders 3 maanden op 100%. >> Als dat lukt is je software toch flexibel? >> Wat vind jij dan 'flexibele software'? > > Software die je probleemloos op elke nieuwe onverwachte situatie kan > aanpassen met minimaal gezeur. > > Als je iets weet hoor ik het graag :-D. Hello, World :) Elke nieuwe situatie is natuurlijk wat veel gevraagd, maar binnen de oorspronkelijke doelstelling van je software is dat prima mogelijk (met licht voorbehoud voor de definitie van minimaal en gezeur). Stukjes herontwerpen is weliswaar ook dan meestal nodig, maar geen probleem in mijn ogen. Groet, Jaap
Technical Details
Message-ID:
<cskank$7re$1@news2.zwoll1.ov.home.nl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!newshub3.home.nl!newshub1.home.nl!home.nl!not-for-mailReferences:
<KGaGd.31705$NH4.2884676@phobos.telenet-ops.be> <S1uGd.337563$lN.281841@amsnews05.chello.com> <34vks9F4dh6jlU1@individual.net> <VnyGd.32686$W05.2894883@phobos.telenet-ops.be> <34vrumF4ggs68U1@individual.net> <Xns95E0920A1BD57castleamber@130.133.1.4> <sVKGd.33053$y82.2869391@phobos.telenet-ops.be> <Xns95E17C015EA6Dcastleamber@130.133.1.4> <csh4ts$qc6$1@news6.zwoll1.ov.home.nl> <Xns95E1975E6E514castleamber@130.133.1.4> <cshe58$s0r$1@news1.zwoll1.ov.home.nl> <Xns95E1B51CE459castleamber@130.133.1.4> <csk3aq$9tg$1@news3.zwoll1.ov.home.nl> <Xns95E2B3D467B8Ccastleamber@130.133.1.4>Show Full Headers
Complete Article Headers
X-Google-Thread: 107324,f4d24472362760fe X-Google-Thread: fcea4,f4d24472362760fe X-Google-Attributes: gid107324,gidfcea4,public X-Google-Language: DUTCH,ASCII-7-bit Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!feeder.enertel.nl!nntpfeed-01.ops.asmr-01.energis-idc.net!newshub3.home.nl!newshub1.home.nl!home.nl!not-for-mail From: "Jaap Beetstra" <jaap@nospam.beetstra.com> Newsgroups: nl.comp.programmeren,be.comp.programming Subject: Re: wordt refractering veel gedaan? Date: Wed, 19 Jan 2005 01:47:48 +0100 Organization: @Home Benelux Lines: 95 Message-ID: <cskank$7re$1@news2.zwoll1.ov.home.nl> References: <KGaGd.31705$NH4.2884676@phobos.telenet-ops.be> <S1uGd.337563$lN.281841@amsnews05.chello.com> <34vks9F4dh6jlU1@individual.net> <VnyGd.32686$W05.2894883@phobos.telenet-ops.be> <34vrumF4ggs68U1@individual.net> <Xns95E0920A1BD57castleamber@130.133.1.4> <sVKGd.33053$y82.2869391@phobos.telenet-ops.be> <Xns95E17C015EA6Dcastleamber@130.133.1.4> <csh4ts$qc6$1@news6.zwoll1.ov.home.nl> <Xns95E1975E6E514castleamber@130.133.1.4> <cshe58$s0r$1@news1.zwoll1.ov.home.nl> <Xns95E1B51CE459castleamber@130.133.1.4> <csk3aq$9tg$1@news3.zwoll1.ov.home.nl> <Xns95E2B3D467B8Ccastleamber@130.133.1.4> NNTP-Posting-Host: cc210535-a.ensch1.ov.home.nl X-Trace: news2.zwoll1.ov.home.nl 1106095668 8046 217.120.168.57 (19 Jan 2005 00:47:48 GMT) X-Complaints-To: usenet@corp.home.nl NNTP-Posting-Date: Wed, 19 Jan 2005 00:47:48 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2527 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 X-RFC2646: Format=Flowed; Original