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,60e2922351e0e780 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-11-14 07:06:33 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshosting.com!news-xfer2.atl.newshosting.com!216.166.71.118.MISMATCH!small1.nntp.aus1.giganews.com!border1.nntp.aus1.giganews.com!intern1.nntp.aus1.giganews.com!nntp.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 14 Nov 2003 09:06:32 -0600 Date: Fri, 14 Nov 2003 10:06:30 -0500 From: "Robert I. Eachus" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Clause "with and use" References: In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 24.34.214.193 X-Trace: sv3-RvKkqDPMrJIW1t5EHEscQKRk1acTinf9Y5kM9jdw0PMCnWX9CW/Pgdw74ytcslQ8sQ8lgtGL0UT39G7!UymfvnvX2oCESHUObGarShAJgtWIZIHEeNODHgRVHUHm2aLvielUcBqLMCmEdA== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:2493 Date: 2003-11-14T10:06:30-05:00 List-Id: tmoran@acm.org wrote: >>You forgot the with clauses on package A. > > Huh? The old system had a package A, but package A has been eliminated > from the new system. Instead there are two new packages A1 and A2. Some > places that used to say "with A;" now say "with A1;" or "with A2;", so > their total number of "with"s is unchanged. But some that used to say > "with A;" now have to have "with A1, A2;" so the number of "with"s (the > numerator) has increased. OTOH, the number of packages (the denominator) > has increased also. In the 150 package example, N*ln(N) was 751.65, > Goodness was 5, so 2*S+B = 3758. After splitting A, we have 2*S+B = > 3758+2*8+9= 3783 and 151*ln(151)= 757.57 so the new Goodness is 4.994, an > improvement. If there were NO with clauses on A, you would be right. But say the spec of A withs B, C, D, and E, and the body has withs for F, G, H, and I. If A1 and A2, need the same withs, you add four more with clauses on specs, four more on bodies and the goodness number increases (actual goodness decreases). If A1 spec needs only with B and C, A1 body needs F and G and A2 spec needs only with D and E while A2 body needs withs for H and I, then your goodness has improved, and it should. A1 and A2 should have been separate packages in the first place. In reality, there are very few cases that are that clear. Incidently a tool that finds withs on the spec that could be moved to the body, or withs that are not needed at all is very useful. But in practice on good code, you end up moving only a few withs, and eliminating maybe one. -- Robert I. Eachus 100% Ada, no bugs--the only way to create software.