comp.lang.ada
 help / color / mirror / Atom feed
From: willer@carolian.com (Steve Willer)
Subject: Re: Hungarian notation
Date: 1996/05/23
Date: 1996-05-23T00:00:00+00:00	[thread overview]
Message-ID: <31a47e13.49044301@sqarc.sq.com> (raw)
In-Reply-To: 4o1928$ngv@goanna.cs.rmit.EDU.AU


ok@goanna.cs.rmit.EDU.AU (Richard A. O'Keefe) wrote:

>willer@carolian.com (Steve Willer) writes:
>>Neato! So I guess there is one and only one solution to the problem of
>>invalid pointers!
>
>Let me put it this way:
>	IUnknown::AddRef
>and	IUnknown::Release
>are _not_ the solution.

Certainly, I am far from being COM's biggest fan. But the point I'm
making is that garbage collection is not a perfect solution, nor is it
the one and only solution. No matter what the scheme (gc, ref-counting,
etc.), pointers can still get scrambled.

I have personally been quite successful with setting rules of ownership
and sticking by them. With the primary use of auto_ptrs and references,
I don't have problems with dangling pointers and the like. HOWEVER, in
order to properly use these different argument types without problems, I
either need a perfect memory or a good naming convention. I don't have a
perfect memory.

This setup won't work well in C, but it works very well for me in C++.
Here's the relevant part of my own coding standard:


1.	Function argument types

When designing function interfaces, keep these points in mind:

a)	All "input" arguments should be first, followed by
"input/output" arguments and then followed by "output" arguments. It may
be necessary to adjust this order to allow consistency with functions of
the same name, and default arguments may also force a reordering.

b)	Arguments must be declared const as often as possible. In other
words, restrict the argument as much as you can.

c)	In C++, if ownership of an object is being transferred, the
argument must be an auto_ptr passed by value. If ownership is not being
transferred, then the argument must be a reference. The only exception
to this is when it must be possible to give a NULL (obviously, the
argument should be declared as a pointer in this case). However, rethink
the necessity of a NULL-compatible argument before using a pointer
argument.





  reply	other threads:[~1996-05-23  0:00 UTC|newest]

Thread overview: 227+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4adem2$b5s@mercury.IntNet.net>
     [not found] ` <4ahka7$o9m@inrou.erno.de>
1996-05-13  0:00   ` Hungarian notation Roger Merritt
1996-05-14  0:00     ` David Priest
1996-05-14  0:00     ` The Right Reverend Colin James III
1996-05-15  0:00       ` Graham Perkins
1996-05-15  0:00         ` Peter Seebach
1996-05-16  0:00           ` Pete Becker
1996-05-14  0:00     ` Keith Whittingham
1996-05-14  0:00       ` Dave Mikesell
1996-05-14  0:00       ` Peter Seebach
1996-05-14  0:00         ` Pete Becker
     [not found]           ` <4ndb2j$1p0q@uni.library.ucla.edu>
1996-05-16  0:00             ` Mark Chu-Carroll
1996-05-16  0:00               ` Jay Martin
1996-05-17  0:00                 ` Scott
1996-05-23  0:00                 ` G.O.Visser
1996-05-16  0:00             ` Scott
1996-05-16  0:00               ` Giuliano Carlini
1996-05-18  0:00                 ` Warren Young
1996-05-16  0:00             ` Steve Branam
1996-05-16  0:00         ` Matt Kennel
1996-05-14  0:00       ` Dr S.J. Harris
1996-05-15  0:00         ` Gerolf Wendland
1996-05-16  0:00           ` mAg
1996-05-17  0:00             ` Arne W Flones
1996-05-21  0:00               ` Norman L. Reitzel   
1996-05-21  0:00                 ` Bob Rodgers
1996-05-22  0:00                   ` Matt Kennel
1996-05-23  0:00                     ` Steve Willer
1996-05-23  0:00                       ` Richard A. O'Keefe
1996-05-23  0:00                         ` Steve Willer [this message]
1996-05-23  0:00                     ` Bob Rodgers
1996-05-23  0:00                       ` Peter Seebach
1996-05-22  0:00                   ` Slander (was: Hungarian notation) Graham Perkins
1996-05-23  0:00                     ` Richard A. O'Keefe
1996-05-24  0:00                       ` Tucker Taft
1996-05-22  0:00                   ` Hungarian notation Michael Furman
1996-05-23  0:00                   ` Peter Moylan
1996-05-21  0:00                 ` Richard A. O'Keefe
1996-05-22  0:00                   ` Peter Moylan
1996-05-23  0:00                     ` Robert Dewar
1996-05-23  0:00                       ` Steve Willer
1996-05-28  0:00                         ` Richard A. O'Keefe
1996-05-29  0:00                           ` Kevin Cline
1996-05-24  0:00                       ` Jeff Dege
1996-05-24  0:00                       ` Kevin Cline
1996-05-25  0:00                         ` Steve Willer
1996-05-25  0:00                           ` Hungarian notation: the thread of choice for consummate boors The Right Reverend Colin James III
1996-05-27  0:00                             ` Ken Nicolson
     [not found]                             ` <HFsHoD96w165w@bwalk.dm.com>
1996-05-28  0:00                               ` Jon Hornstein
1996-06-05  0:00                         ` Hungarian notation Ralph Silverman
1996-06-06  0:00                           ` James McKim
1996-06-07  0:00                             ` Ralph Silverman
1996-06-06  0:00                           ` Richard A. O'Keefe
1996-05-26  0:00                       ` Warren Young
1996-05-23  0:00                     ` Andy Ho-Fan Chan
1996-05-23  0:00                       ` Robert Dewar
1996-05-24  0:00                         ` Bob Rodgers
1996-05-24  0:00                         ` Robert A Duff
1996-05-28  0:00                           ` Richard A. O'Keefe
1996-05-28  0:00                             ` Janus
1996-05-28  0:00                             ` Jeff Dege
1996-05-29  0:00                             ` Chris Kuan
1996-05-29  0:00                               ` Bob Rodgers
1996-05-30  0:00                                 ` Chris Kuan
1996-05-29  0:00                             ` Michael Furman
1996-05-31  0:00                               ` Richard A. O'Keefe
1996-05-31  0:00                                 ` Commenting (was Re: Hungarian notation) Alan Bowler
1996-05-31  0:00                                   ` Robert Dewar
1996-06-03  0:00                                     ` Ken Garlington
1996-06-01  0:00                                 ` Hungarian notation Warren Young
1996-06-01  0:00                                 ` Steve Willer
1996-06-03  0:00                                   ` Warren Young
1996-05-31  0:00                             ` Will Rose
1996-06-05  0:00                               ` Ralph Silverman
1996-06-07  0:00                                 ` Michael Furman
1996-06-01  0:00                             ` Heinz Hemken
1996-06-02  0:00                               ` Jeff Dege
1996-06-02  0:00                               ` Matt Kennel
1996-06-05  0:00                               ` Ralph Silverman
1996-06-06  0:00                                 ` Jeff Dege
1996-05-27  0:00                       ` Peter Moylan
1996-05-27  0:00                         ` Jeff Dege
1996-05-27  0:00                           ` The Amorphous Mass
1996-05-28  0:00                             ` Jeff Dege
1996-05-28  0:00                               ` The Amorphous Mass
1996-05-29  0:00                               ` Comments was: " Bob Lang 3P21 x3172
1996-05-30  0:00                                 ` Kevin Cline
     [not found]                           ` <4odgjh$6o@carrera.intergate.bc.ca>
1996-05-28  0:00                             ` try to run this! - try_me.exe [3/4] Otmar Conradus
1996-05-28  0:00                       ` Hungarian notation Richard A. O'Keefe
1996-05-31  0:00                         ` The Last Word on Comments (was Re: Hungarian notation) Clark L. Coleman
1996-06-03  0:00                           ` Robert A Duff
1996-06-13  0:00                             ` Kevin D. Quitt
1996-06-13  0:00                               ` Richard Riehle
1996-06-15  0:00                                 ` Train
1996-06-18  0:00                                 ` Sandy McPherson
1996-06-18  0:00                                   ` David Zink
1996-06-19  0:00                                     ` Michael Furman
1996-06-20  0:00                                       ` Robert Dewar
1996-06-23  0:00                                         ` David Zink
1996-06-23  0:00                                           ` Robert Dewar
1996-06-28  0:00                                         ` Ralph Silverman
1996-06-28  0:00                                           ` Robert Dewar
1996-07-11  0:00                                             ` Ralph Silverman
1996-07-11  0:00                                               ` Robert Dewar
1996-07-12  0:00                                               ` steidl
1996-07-12  0:00                                                 ` Robert Dewar
1996-07-12  0:00                                                 ` Peter Seebach
1996-06-29  0:00                                           ` Lawrence Kirby
1996-06-29  0:00                                           ` steidl
1996-06-20  0:00                                   ` The Last Word on Comments (was Re: Hun Ian Ward
1996-06-05  0:00                           ` The Last Word on Comments (was Re: Hungarian notation) Peter Moylan
1996-06-05  0:00                             ` Mike Fulton
1996-06-05  0:00                               ` Shane Badham
1996-06-13  0:00                                 ` Steve Sobol
1996-06-14  0:00                                   ` Re-designing CS (long) (Was: Re: The Last Word on Comments) Warren Young
1996-06-21  0:00                                   ` Re-designing CS (long) Warren Young
1996-06-24  0:00                                     ` Brian J. Quandt
1996-06-05  0:00                               ` The Last Word on Comments (was Re: Hungarian notation) Steve Howard
1996-06-06  0:00                                 ` Jeff Dege
1996-06-06  0:00                               ` Bob Lang 3P21 x3172
1996-06-08  0:00                             ` Bill Hay
1996-06-11  0:00                               ` Derek Lee Beatty
1996-06-11  0:00                           ` Darius Blasbans
1996-06-11  0:00                           ` Darius Blasbans
1996-06-11  0:00                           ` Darius Blasbans
1996-06-11  0:00                           ` Darius Blasbans
1996-06-11  0:00                           ` Darius Blasbans
1996-06-11  0:00                             ` Kevin J. Weise
1996-06-13  0:00                               ` Kevin D. Quitt
1996-06-13  0:00                               ` Kevin Cline
1996-06-12  0:00                             ` Robert Dewar
1996-06-17  0:00                               ` James McKim
1996-06-18  0:00                                 ` Robert Dewar
1996-06-06  0:00                       ` Hungarian notation Sam Hunting
1996-06-06  0:00                       ` Ralph Silverman
1996-06-06  0:00                         ` David Hopkins
1996-06-07  0:00                         ` Richard A. O'Keefe
1996-06-07  0:00                           ` Steve Willer
1996-06-10  0:00                             ` Michael Furman
1996-06-12  0:00                               ` Warren Young
1996-06-07  0:00                         ` Hungarian notation (an aside) Bob Lang 3P21 x3172
1996-06-11  0:00                       ` I wish it was "The Last Word on Comments (was Re: Hungarian notation)" Blair MacIntyre
1996-06-03  0:00                     ` Hungarian notation Norman H. Cohen
1996-06-10  0:00                 ` Ralph Silverman
1996-05-18  0:00             ` Richard Riehle
1996-05-23  0:00             ` James Kanze US/ESC 60/3/141 #40763
1996-05-23  0:00               ` Paul J. Kossick
1996-05-25  0:00                 ` Raoul De Kezel
1996-05-23  0:00             ` Robert I. Eachus
1996-05-23  0:00             ` Laurent Guerby
1996-05-23  0:00               ` Please keep Hungarian notation thread OUT of comp.lang.modula3 Tim Mann
1996-06-05  0:00             ` Hungarian notation Ralph Silverman
1996-06-05  0:00               ` jthorpe
1996-06-06  0:00               ` Richard A. O'Keefe
1996-06-07  0:00                 ` Ralph Silverman
1996-06-07  0:00                   ` The Amorphous Mass
1996-06-10  0:00                   ` Michael Furman
1996-06-11  0:00                   ` Richard A. O'Keefe
1996-06-11  0:00                     ` Will Rose
1996-06-11  0:00                     ` Kevin Cline
1996-06-11  0:00                       ` Ralph Silverman
1996-06-11  0:00                       ` Chris Engebretson
1996-06-12  0:00                       ` Bob Rodgers
1996-06-12  0:00                         ` Matt Kennel
1996-06-13  0:00                           ` Jeff Dege
1996-06-13  0:00                           ` Giuliano Carlini
1996-06-22  0:00                       ` Richard Green
1996-06-07  0:00                 ` Chris Kuan
1996-06-05  0:00           ` Ralph Silverman
1996-05-16  0:00       ` Dave Toland
1996-05-21  0:00       ` mAg
1996-05-21  0:00         ` Bob Lang 3P21 x3172
1996-05-21  0:00         ` Peter Seebach
1996-05-23  0:00           ` Steve Willer
1996-05-23  0:00             ` Richard A. O'Keefe
1996-05-23  0:00               ` Robert Dewar
1996-05-28  0:00                 ` Richard A. O'Keefe
1996-05-23  0:00               ` Train
1996-05-23  0:00                 ` jeffos2
1996-05-23  0:00               ` Bob Rodgers
1996-05-23  0:00                 ` Bob Kitzberger
1996-05-23  0:00             ` Robert Dewar
1996-05-24  0:00               ` slary61
1996-05-24  0:00                 ` Ian Ward
1996-05-24  0:00                 ` Jerry Kuch
1996-05-24  0:00                 ` Dave Toland
1996-05-24  0:00                 ` Jeff Dege
1996-05-24  0:00                 ` Jos A. Horsmeier
1996-05-26  0:00                   ` Richard Riehle
1996-05-27  0:00                     ` Warren Young
1996-06-03  0:00                     ` Eva
1996-05-28  0:00                   ` Paul D. DeRocco
1996-05-27  0:00                 ` Norman L. Reitzel   
1996-05-27  0:00                   ` Matt Kennel
1996-05-28  0:00                 ` Richard A. O'Keefe
1996-05-28  0:00                   ` Jay Martin
1996-05-29  0:00                     ` Richard A. O'Keefe
1996-06-01  0:00                     ` Michael Feldman
1996-05-29  0:00                 ` AJ Musgrove
1996-06-05  0:00                 ` Ralph Silverman
1996-06-06  0:00                 ` Ralph Silverman
1996-05-24  0:00               ` Steve Willer
1996-05-23  0:00             ` Peter Seebach
1996-05-21  0:00         ` Mark A Biggar
1996-05-21  0:00           ` slary61
1996-05-24  0:00         ` Oleg Kagan
1996-06-05  0:00           ` Ralph Silverman
1996-05-23  0:00     ` James Kanze US/ESC 60/3/141 #40763
1996-05-28  0:00     ` Brian Rogoff
1996-05-28  0:00     ` Homonnai Misi
1996-05-20  0:00   ` James Kanze US/ESC 60/3/141 #40763
1996-05-20  0:00     ` Tom Wheeley
1996-05-23  0:00     ` Steve Willer
1996-05-22  0:00   ` James Kanze US/ESC 60/3/141 #40763
1996-05-23  0:00   ` James Kanze US/ESC 60/3/141 #40763
1996-05-23  0:00     ` Richard Kenner
1996-06-01  0:00   ` Jim Kingdon
1996-06-10  0:00 Bob Crispen
  -- strict thread matches above, loose matches on Subject: below --
1996-05-15  0:00 Bob Crispen
     [not found] <30C40F77.53B5@swsbbs.com>
     [not found] ` <marnoldDJEvtJ.1Lx@netcom.com>
     [not found]   ` <4aleun$jlk@ns.RezoNet.NET>
     [not found]     ` <marnoldDJMDBG.CFz@netcom.com>
     [not found]       ` <4asnkr$7b0@solutions.solon.com>
     [not found]         ` <4ath75$e7i@barnacle.iol.ie>
     [not found]           ` <4b4kij$svt@news.microsoft.com>
     [not found]             ` <dewar.819489496@schonberg>
     [not found]               ` <4bd <4cne0e$1020@seminole.gate.net>
1996-01-08  0:00                 ` Bob Kitzberger
1996-01-08  0:00                 ` Adam Beneschan
1996-01-08  0:00               ` Michael Feathers
     [not found] ` <30EF0415.6FE1@tus.ssi1.com>
     [not found]   ` <1996Jan7.045815.8676@ohstpy>
     [not found]     ` <4cpb00$nqk@news.xmission.com>
1996-01-08  0:00       ` Michael Feathers
1996-01-08  0:00         ` vancleef
1996-01-09  0:00         `  Todd Knarr 
1996-01-09  0:00           ` Michael Feathers
     [not found]       ` <hawkfish-0801960904580001@blv-pm3-ip24.halcyon.com>
1996-01-09  0:00         `  Todd Knarr 
     [not found] ` <4cd8fc$oud@news.manawatu.gen.nz>
1996-01-08  0:00   ` Joachim Durchholz
replies disabled

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