From: "Jeffrey D. Cherry" <jdcherry@utech.net>
Subject: Re: ada writing guide
Date: 2000/04/13
Date: 2000-04-13T00:00:00+00:00 [thread overview]
Message-ID: <38F5DF8C.1A01E5A4@utech.net> (raw)
In-Reply-To: 8d2hig$7e6$1@nnrp1.deja.com
Robert Dewar wrote:
>
> I find the extra ); on its own line offensive and unnatural,
> just as clear, and much easier on the eye to write
>
> > procedure Foo
> > (D : in out Data;
> > C : in Data);
>
> In GNAT we prefer to put things on a single line:
>
> > procedure Foo (D : in out Data; C : Data);
>
> If they fit comfortably on one line, and use the form with
> one line per parameter only if that is not the case.
I quite agree that if a complete declaration can appear on one
line, it should not be arbitrarily broken up into two or more
lines. I also agree with the ");" looking silly when it's
on a line by itself. The part about "in" mode for parameters
(not quoted above, but in the original post) I would also
agree with, especially with function parameters. Now
here is where I stray ... just a bit.
I like the following form for a subprogram declaration:
procedure Foo(
D : in out Data;
C : in Data);
There are two subtle differences. First, I like to put the
opening parenthesis on the line with the subprogram name.
This allows the parameter names to line up starting in the
same column. Second, I don't leave a space between the
subprogram name and the opening parenthesis. I'm pretty
comfortable with the first point while the second I find is
debatable.
Personally, I eliminate the space between a subprogram name
and its opening parenthesis because it handles parentheses
consistently when they are associated with an identifier.
However, this might _not_ be the more readable practice.
Consider the following contrived example:
procedure Silly is
function foobar(a : float) return integer is
begin -- foobar
return integer(float'truncation(a));
end foobar;
f : float := 3.33;
i : integer;
n : array(1..5) of integer := (5, 6, 7, 8, 9);
begin -- Silly
i := foobar(f) + n(2);
end Silly;
Notice the consistency in the assignment statement. But is
it more readable to write:
i := foobar (f) + n(2);
This may give the reader a subtle indication that foobar is
a function call while n is an array. I am curious to hear
what others think of this practice ... is it just silly to
worry about or does it indeed improve the readability of
an expression?
--
Regards,
Jeffrey D. Cherry
Senior IV&V Analyst
Logicon Space and Information Operations
Logicon Inc.
a Northrop Grumman company
next prev parent reply other threads:[~2000-04-13 0:00 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-12 0:00 ada writing guide Riyaz Mansoor
2000-04-12 0:00 ` Ted Dennison
2000-04-12 0:00 ` Robert Dewar
2000-04-13 0:00 ` Jeffrey D. Cherry [this message]
2000-04-13 0:00 ` Ted Dennison
2000-04-13 0:00 ` Ray Blaak
2000-04-13 0:00 ` Jeffrey D. Cherry
2000-04-13 0:00 ` Robert A Duff
2000-04-13 0:00 ` Ted Dennison
2000-04-14 0:00 ` Pascal Obry
2000-04-14 0:00 ` Ted Dennison
2000-04-14 0:00 ` Pascal Obry
2000-04-17 0:00 ` Ted Dennison
2000-04-17 0:00 ` Florian Weimer
2000-04-17 0:00 ` Ted Dennison
2000-04-17 0:00 ` Ted Dennison
2000-04-18 0:00 ` Robert Dewar
2000-04-18 0:00 ` Ted Dennison
2000-04-18 0:00 ` Robert Dewar
2000-04-18 0:00 ` Ted Dennison
2000-04-18 0:00 ` Brian Courtney
2000-04-19 0:00 ` Florian Weimer
2000-04-19 0:00 ` Brian Courtney
2000-04-19 0:00 ` Florian Weimer
2000-04-19 0:00 ` Ted Dennison
2000-04-24 0:00 ` Samuel T. Harris
2000-04-19 0:00 ` Robert Dewar
2000-04-20 0:00 ` Ted Dennison
2000-04-20 0:00 ` Florian Weimer
2000-04-20 0:00 ` Ted Dennison
2000-04-24 0:00 ` Samuel T. Harris
2000-04-24 0:00 ` Robert A Duff
2000-04-25 0:00 ` Robert Dewar
2000-04-27 0:00 ` Samuel T. Harris
2000-04-20 0:00 ` Samuel T. Harris
2000-04-20 0:00 ` Ted Dennison
2000-04-21 0:00 ` Robert Dewar
2000-04-21 0:00 ` Robert Dewar
2000-04-21 0:00 ` Ted Dennison
[not found] ` <38FFd43e.70f1bb7d@telepath.com>
2000-04-21 0:00 ` Larry Kilgallen
2000-04-24 0:00 ` Samuel T. Harris
2000-04-24 0:00 ` Robert A Duff
2000-04-27 0:00 ` Samuel T. Harris
2000-04-20 0:00 ` Emmanuel Briot
2000-04-20 0:00 ` Ted Dennison
2000-04-16 0:00 ` Simon Wright
2000-04-16 0:00 ` Robert Dewar
2000-04-15 0:00 ` Robert Dewar
2000-04-16 0:00 ` Simon Wright
2000-04-13 0:00 ` Samuel T. Harris
2000-04-13 0:00 ` Paul Graham
2000-04-13 0:00 ` Ted Dennison
2000-04-13 0:00 ` Riyaz Mansoor
2000-04-13 0:00 ` Ted Dennison
2000-04-13 0:00 ` David C. Hoos, Sr.
2000-04-12 0:00 ` Robert Dewar
2000-04-13 0:00 ` Riyaz Mansoor
2000-04-13 0:00 ` Jean-Marc Bourguet
2000-04-15 0:00 ` Robert Dewar
2000-04-14 0:00 ` Riyaz Mansoor
2000-04-14 0:00 ` Robert A Duff
2000-04-14 0:00 ` Ted Dennison
2000-04-14 0:00 ` Marin D. Condic
2000-04-14 0:00 ` tmoran
2000-04-14 0:00 ` David C. Hoos, Sr.
2000-04-15 0:00 ` tmoran
2000-04-17 0:00 ` Marc A. Criley
2000-04-15 0:00 ` Robert Dewar
2000-04-17 0:00 ` Ted Dennison
2000-04-18 0:00 ` Geoff Bull
2000-04-15 0:00 ` Robert Dewar
2000-04-15 0:00 ` Marin D. Condic
2000-04-15 0:00 ` Ken Garlington
2000-04-27 0:00 ` gbull
2000-04-16 0:00 ` Ehud Lamm
2000-04-15 0:00 ` Robert Dewar
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox