comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Tests in a software release
Date: Wed, 15 Nov 2017 15:53:41 -0600
Date: 2017-11-15T15:53:41-06:00	[thread overview]
Message-ID: <ouid16$ftm$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: ouguv4$1h92$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:ouguv4$1h92$1@gioia.aioe.org...
> On 15/11/2017 01:06, Randy Brukardt wrote:
>
>> I'd consider making an argument for a pragma to *require* an ELSE part 
>> for
>> all IF statements.
>
> Only if return and raise statements had the forms:
>
>    return Result when Condition;
>
>    raise Exception with Text when Condition;

You're right that sometimes the comment isn't very enlightening:

     if Condition then
         return Result;
     -- else nothing needed.
     end if;

...but note that often in such cases it is useful to say how the result will 
be determined if Condition is False:

    -- else continue looking for the result.

which does provide useful information to a reader (especially one that 
hasn't looked at a particular subprogram in a decade, something that happens 
a lot when debugging a long-lived program like Janus/Ada).

The place where this comment is annoying is for tracing:

    if J2Trace.Trace(This_Unit) then
        Put_Line ("Type " & Type_Ptr'Image(The_Type) & " is unconstrained");
    -- else no trace needed.
    end if;

Here, the else comment is noise. I personally usually leave it out (having 
an exception in the style guide for trace messages), but others (especially 
Isaac) always followed the rule religiously, so Janus/Ada is full of this 
comment.

                              Randy.


  reply	other threads:[~2017-11-15 21:53 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-25 19:30 Tests in a software release Victor Porton
2017-10-26  7:20 ` Dmitry A. Kazakov
2017-10-27 18:06   ` G. B.
2017-10-27 18:54     ` Dmitry A. Kazakov
2017-10-28  6:53       ` G.B.
2017-10-28  7:35         ` Dmitry A. Kazakov
2017-10-30 20:44           ` G. B.
2017-10-30 20:56             ` Dmitry A. Kazakov
2017-10-31  7:17               ` G.B.
2017-10-31  8:32                 ` Dmitry A. Kazakov
2017-11-03  7:24                   ` G.B.
2017-11-03  8:16                     ` Dmitry A. Kazakov
2017-11-03 12:49                     ` Shark8
2017-11-04 10:15                       ` G.B.
2017-11-15  0:11                     ` Randy Brukardt
2017-11-15 17:57                       ` G. B.
2017-11-15 20:46                         ` Dmitry A. Kazakov
2017-11-17 15:36                           ` Shark8
2017-11-15 22:17                         ` Randy Brukardt
2017-11-16 21:44                           ` G.B.
2017-11-17  0:15                             ` Randy Brukardt
2017-11-17 15:45                             ` Shark8
2017-11-18  1:07                               ` Randy Brukardt
2017-11-15  0:06                   ` Randy Brukardt
2017-11-15  8:47                     ` Dmitry A. Kazakov
2017-11-15 21:53                       ` Randy Brukardt [this message]
2017-11-15 16:47                     ` Jeffrey R. Carter
2017-11-15 16:59                       ` J-P. Rosen
2017-11-15 20:45                         ` Dmitry A. Kazakov
2017-11-15 21:58                         ` Randy Brukardt
2017-11-16  5:50                           ` J-P. Rosen
2017-11-16 23:53                             ` Randy Brukardt
2017-11-15  0:01                 ` Randy Brukardt
2017-11-16 17:02           ` Robert Eachus
2017-11-17  0:20             ` Randy Brukardt
2017-11-22 20:40               ` Robert Eachus
2017-11-14 23:55       ` Randy Brukardt
2017-10-26  8:09 ` Stefan.Lucks
2017-10-26 17:30 ` Simon Clubley
replies disabled

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