From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,899fc98b2883af4a X-Google-Attributes: gidf43e6,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-Thread: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-ArrivalTime: 2003-05-16 17:43:16 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: softeng3456@netscape.net (soft-eng) Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada,comp.software-eng Subject: Re: Quality systems (Was: Using Ada for device drivers? (Was: the Ada mandate, and why it collapsed and died)) Date: 16 May 2003 17:43:16 -0700 Organization: http://groups.google.com/ Message-ID: <9fa75d42.0305161643.1770ab27@posting.google.com> References: <9fa75d42.0304230424.10612b1a@posting.google.com> <7507f79d.0305121629.5b8b7369@posting.google.com> <9fa75d42.0305130543.60381450@posting.google.com> <254c16a.0305140549.3a87281b@posting.google.com> <9fa75d42.0305141747.5680c577@posting.google.com> <3EC3D737.6020509@attbi.com> <9fa75d42.0305160924.2bf76373@posting.google.com> <3EC532A8.A13C0342@none.yet> NNTP-Posting-Host: 12.243.127.233 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1053132196 15639 127.0.0.1 (17 May 2003 00:43:16 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 17 May 2003 00:43:16 GMT Xref: archiver1.google.com comp.lang.java.advocacy:63968 comp.object:63588 comp.lang.ada:37419 comp.software-eng:19248 Date: 2003-05-17T00:43:16+00:00 List-Id: Linnea wrote in message news:<3EC532A8.A13C0342@none.yet>... > > and don't touch it until > > you know EXACTLY what you are doing. Don't > > be afraid of re-writing large chunks of > > the code, but only if you have done the > > homework of understanding the old code cold. > > but here you are saying something I cannot agree with. > > I have learnt my first lessons on refactoring in early 80's, long before > I knew anything about version control and the other aids to support it, > and almost two decades before I found Martin Fowler's book on > refactoring. Ever since those first lessons, I've always considered > refactoring - even when I didn't have a name for it - as the only way to > ensure that I know exactly what I am doing, and to find out what exactly > the code is doing. > > You HAVE to touch the code IN ORDER TO understand it. You have to I agree with that totally! But while I am playing around with the old code making changes to it to see what it's doing and breaking it in strange ways, the original code is safe in version control. When I have a good handle on what's going on, I will dump my experimentation, check out the code, and then touch the code with the intent of a real modification. > The only way to learn to read the code is my touching it, by refactoring > it. If that's what you mean by "homework of understanding the old code > cold", then we agree. However, I see no indication of you meaning it > that way. I do mean it that way! The "homework" can hardly ever be done by simple reading, if the code is complex. I guess I didn't clarify that "touching the old code" meant touching with the intent of making permanent changes!