comp.lang.ada
 help / color / mirror / Atom feed
From: dsmith@clark.net (Doug Smith)
Subject: Re: Warning: Religious naming convention discussion :-) [was: assign help!!]
Date: 1997/05/11
Date: 1997-05-11T00:00:00+00:00	[thread overview]
Message-ID: <dsmith-1105972241540001@dsmith.clark.net> (raw)
In-Reply-To: 3373666A.31DFF4F5@spam.innocon.com


In article <3373666A.31DFF4F5@spam.innocon.com>, Jeff Carter <carter@spam.innocon.com> wrote:
[snip]
> Now, allow me to indoctrinate you into the one true religion. Like you,
> I want to preserve the meaningful name (List, Queue, What_Ever) for use
> by objects and parameters. Unlike you, I insist that suffixes add at
> least some information. So I want my suffix to indicate what kind of
> type we're dealing with, as well as differentiating the type name. I use
> many; here are a few:
> 
> Numeric types: _Value, _Count, _Range
> Enumeration types: _Id, _Name
> Array types: _Set, _List
> Record types: _Group, _Data, _Info
> Task types: _Agent, _Controller
> Private types: _Handle
> 
> I'm also creative in my use of parameter names, using Into, Before,
> After, From, To, and so on to avoid as much of this as I can:
> 
> procedure Insert (Into : in out String; Before : in Positive; Value : in
> String);
> procedure Append (Onto : in out List_Handle; After : in Position; Item :
> in Element);
[snip]
> -- 
> Jeff Carter  PGP:1024/440FBE21

Several years ago, I found an excellent article on user interface design
in Smithsonian magazine (no that is not a typo!) Two of the three
principles were: 1) Make usage obvious, and 2) Use conventions. Other
posters have applied these principles, but I like Jeff's usage of the
suffix much better.

Let me go a little further. We have not addressed the semantics issue
very well. I think Jeff's reference to private type handles alludes to
object semantics. If a naming convention grows out of certain common
semantics, then usage will be more obvious. For example, I might
expect certain operations and associated semantics with any type which
has the _Set suffix. By convention, I would expect the union and
intersection operations and the the default value of Null, etc.

This naming convention may apply also to package names, as Booch
used in his reusable components (although I found the architecture
cumbersome). Then, as Jeff suggests, the suffix can distinguish
between types, especially related types used in the same package such
as _Info and _Handle. In fact, I have seen and used the suffix alone:
Object, Class, or Handle.

It is unlikely we will agree on any community-wide convention, but
at least each reusable library should have some "foolish" consistency.

Now to argue the other side, when there are no conventions which
describe a type's semantics, then don't use a suffix: use a descriptive,
general name.




  parent reply	other threads:[~1997-05-11  0:00 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-05-05  0:00 assign help!! Ivan Gou
1997-05-06  0:00 ` Michael F Brenner
1997-05-07  0:00   ` Charles H. Sampson
1997-05-08  0:00     ` Warning: Religious naming convention discussion :-) [was: assign help!!] John G. Volan
1997-05-09  0:00       ` Kevin Cline
1997-05-09  0:00         ` John G. Volan
1997-05-09  0:00       ` Jay Martin
1997-05-09  0:00         ` Jeff Carter
1997-05-09  0:00           ` John G. Volan
1997-05-10  0:00             ` Aaron Metzger
1997-05-11  0:00               ` Robert Dewar
1997-05-11  0:00                 ` John G. Volan
1997-05-11  0:00                 ` Robert A Duff
1997-05-12  0:00                   ` Robert Dewar
1997-05-12  0:00                     ` Robert A Duff
1997-05-12  0:00                       ` Robert Dewar
1997-05-13  0:00                         ` David L Brown
1997-05-13  0:00                           ` W. Wesley Groleau (Wes)
1997-05-14  0:00                           ` Robert Dewar
1997-05-13  0:00                         ` Robert A Duff
1997-05-13  0:00                           ` Robert Dewar
1997-05-14  0:00                             ` Ole-Hjalmar Kristensen FOU.TD/DELAB
1997-05-13  0:00                           ` Kaz Kylheku
1997-05-14  0:00                             ` Kevin Cline
1997-05-14  0:00                               ` Robert Dewar
1997-05-14  0:00                             ` Robert A Duff
1997-05-12  0:00                 ` Kaz Kylheku
1997-05-11  0:00               ` Simon Wright
1997-05-12  0:00               ` John G. Volan
1997-05-10  0:00             ` Robert Dewar
1997-05-10  0:00               ` John G. Volan
1997-05-11  0:00                 ` Robert Dewar
1997-05-12  0:00                   ` John G. Volan
1997-05-12  0:00                   ` Robert I. Eachus
1997-05-13  0:00                     ` John G. Volan
1997-05-13  0:00                     ` Robert Dewar
1997-05-16  0:00                       ` Robert I. Eachus
1997-05-17  0:00                         ` Robert Dewar
1997-05-11  0:00               ` Kevin Cline
1997-05-11  0:00                 ` Robert Dewar
1997-05-12  0:00                   ` John G. Volan
1997-05-12  0:00                     ` Robert Dewar
1997-05-16  0:00                 ` Wayne Magor
1997-05-16  0:00                   ` Robert Dewar
1997-05-18  0:00                     ` Nick Roberts
1997-05-20  0:00                     ` naming convention discussion Peter Hermann
1997-05-16  0:00                   ` Warning: Religious naming convention discussion :-) [was: assign help!!] John G. Volan
1997-05-14  0:00               ` Ben Brosgol
1997-05-14  0:00                 ` naming convention: trailing underscore Peter Hermann
1997-05-14  0:00                   ` John G. Volan
1997-05-15  0:00                   ` Michael F Brenner
     [not found]                 ` <dewar.863717431@merv>
1997-05-16  0:00                   ` Warning: Religious naming convention discussion :-) [was: assign help!!] Robert A Duff
1997-05-18  0:00                     ` Underscores in identifiers (was: Warning: Religious naming convention discussion :-) Ben Brosgol
1997-05-16  0:00                   ` naming convention discussion Peter Hermann
1997-05-16  0:00                     ` Robert Dewar
1997-05-20  0:00                       ` Peter Hermann
1997-05-17  0:00                   ` Warning: Religious naming convention discussion :-) [was: assign help!!] Arthur Schwarz
1997-05-17  0:00                     ` Robert Dewar
1997-05-17  0:00                       ` John G. Volan
1997-05-18  0:00                         ` Andrew Dunstan
1997-05-18  0:00                           ` Nick Roberts
1997-05-19  0:00                             ` John G. Volan
1997-05-19  0:00                             ` John G. Volan
1997-05-10  0:00             ` Kaz Kylheku
1997-05-10  0:00               ` John G. Volan
1997-05-12  0:00             ` Jeff Carter
1997-05-12  0:00               ` John G. Volan
1997-05-12  0:00             ` W. Wesley Groleau (Wes)
1997-05-12  0:00               ` John G. Volan
1997-05-13  0:00                 ` W. Wesley Groleau (Wes)
1997-05-13  0:00                   ` John G. Volan
1997-05-14  0:00                     ` Do-While Jones
1997-05-14  0:00                       ` Stephen Leake
1997-05-14  0:00                       ` John G. Volan
1997-05-14  0:00                         ` John G. Volan
1997-05-15  0:00                         ` Tangent to Religious naming convention discussion W. Wesley Groleau (Wes)
1997-05-15  0:00                           ` John G. Volan
1997-05-14  0:00                     ` Peter Hermann
1997-05-14  0:00                       ` John G. Volan
1997-05-14  0:00                         ` Peter Hermann
1997-05-14  0:00                           ` John G. Volan
1997-05-15  0:00                             ` Peter Hermann
1997-05-15  0:00                           ` W. Wesley Groleau (Wes)
1997-05-09  0:00           ` Warning: Religious naming convention discussion :-) [was: assign help!!] John G. Volan
1997-05-10  0:00           ` Robert Dewar
1997-05-10  0:00             ` John G. Volan
1997-05-11  0:00               ` Robert Dewar
1997-05-12  0:00                 ` John G. Volan
1997-05-12  0:00               ` W. Wesley Groleau (Wes)
1997-05-12  0:00             ` W. Wesley Groleau (Wes)
1997-05-12  0:00               ` John G. Volan
1997-05-11  0:00           ` Doug Smith [this message]
1997-05-12  0:00           ` Tom Moran
1997-05-16  0:00           ` Wayne Magor
1997-05-16  0:00             ` John G. Volan
1997-05-17  0:00             ` Kevin Cline
1997-05-19  0:00               ` Doug Smith
1997-05-09  0:00         ` John G. Volan
1997-05-12  0:00       ` W. Wesley Groleau (Wes)
1997-05-12  0:00         ` John G. Volan
1997-05-12  0:00         ` John G. Volan
1997-05-10  0:00     ` assign help!! Simon Wright
1997-05-14  0:00       ` Nick Roberts
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox