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-12 22:40:07 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newshub.sdsu.edu!logbridge.uoregon.edu!msunews!not-for-mail From: "Chad R. Meiners" Newsgroups: comp.lang.ada Subject: Re: Clause "with and use" Date: Thu, 13 Nov 2003 01:37:00 -0500 Organization: Michigan State University Message-ID: References: <3FA2CDCB.500F4AF0@fakeaddress.nil> <1068123815.335508@master.nyc.kbcfp.com> <3FAAB12E.C7593B45@fakeaddress.nil> <3FACCBFB.9D288CF2@fakeaddress.nil> <3FAF8C99.5040201@noplace.com> <7KWdnct0w8mEnyyiRVn-hA@comcast.com> NNTP-Posting-Host: arctic.cse.msu.edu X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:2437 Date: 2003-11-13T01:37:00-05:00 List-Id: "Robert I. Eachus" wrote in message news:7KWdnct0w8mEnyyiRVn-hA@comcast.com... > If you want a single number to measure the "goodness" of the design, I > have been comfortable with (2S + B)/(N * ln(N)) where N is the total > number of compilation units and subunits, S is the number of with > clauses on package specs (including generic package specs) and B is the > number of with clauses on other units. Some people may disagree with > including separate subunits in N, but I seldom find designs abusing > that. There is a problem though is some compilation units are too > small, so I get concerned when the average size of compilation units is > outside the 100 to 1000 NCSLOC (non-comment source lines of code) range. So if you write one package that pramga imports all of your required functions and write your entire project in a single procedure that with's only that package, you get a goodness of 1/2? ;-) ;-)