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=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.171.72 with SMTP id g8mr51896716qaz.7.1374940649833; Sat, 27 Jul 2013 08:57:29 -0700 (PDT) X-Received: by 10.50.153.80 with SMTP id ve16mr164929igb.8.1374940649637; Sat, 27 Jul 2013 08:57:29 -0700 (PDT) Path: border1.nntp.dca3.giganews.com!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!cb17no19563qab.0!news-out.google.com!ce7ni0qab.0!nntp.google.com!cb17no89670qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 27 Jul 2013 08:57:29 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=69.20.190.126; posting-account=lJ3JNwoAAAAQfH3VV9vttJLkThaxtTfC NNTP-Posting-Host: 69.20.190.126 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <1c4c9160-4f53-4e54-8f5c-b030c1e760d7@googlegroups.com> Subject: Re: Vocabulary matter: Component vs Element vs Item From: Shark8 Injection-Date: Sat, 27 Jul 2013 15:57:29 +0000 Content-Type: text/plain; charset=ISO-8859-1 X-Original-Bytes: 2355 Xref: number.nntp.dca.giganews.com comp.lang.ada:182714 Date: 2013-07-27T08:57:29-07:00 List-Id: On Friday, July 26, 2013 9:35:16 PM UTC-6, Randy Brukardt wrote: > > > Yikes! This gave me a flashback to long discussions about the names of > parameters and the like. I hope I don't have nightmares tonight. :-) ARG > discussions about naming are rarely pleasant, because *everyone* has an > opinion, and often they're completely different. That's very true. I'm surprised I haven't seen more usage of fully-qualified naming for parameter types. As an example reformulating from Booch's convention: package Stack_Sequential_Unbounded_Managed_Iterator is type Stack is limited private; procedure Clear (The_Stack : in out Stack); becomes the following: package Stack_Sequential_Unbounded_Managed_Iterator is type Stack is limited private; procedure Clear (Stack : in out Stack_Sequential_Unbounded_Managed_Iterator.Stack); This allows for some very nice named parameter associations with comparatively little effort on the part of the programmer writing the package (especially when you use RENAMES on the package's fully-qualified name in the package-body).