From: Simon Wright <simon@pushface.org>
Subject: Re: Convention for naming of packages
Date: Sat, 11 Feb 2012 20:06:36 +0000
Date: 2012-02-11T20:06:36+00:00 [thread overview]
Message-ID: <m2k43t2kz7.fsf@pushface.org> (raw)
In-Reply-To: op.v9i36ghqule2fv@douda-yannick
"Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr> writes:
> Le Sat, 11 Feb 2012 11:17:41 +0100, Yannick Duchêne (Hibou57)
> <yannick_duchene@yahoo.fr> a écrit:
>
>> Le Sat, 11 Feb 2012 10:22:18 +0100, Simon Wright
>> <simon@pushface.org> a écrit:
>>> In most cases the subprogram name tells what it does, and the object
>>> parameter might just as well be called 'This'.
>
> Finally I will either not keep this one, or else, complete it. "This"
> as‑as and alone, don't map well on all subprograms.
>
> Fine with that:
>
> Print (This => …); -- Operation
> Update (This => …); -- Operation
>
> But not with that:
>
> Set_Weight (This => …, Value => …); -- Setter
> Weight (This => …); -- Getter
> Relation (This => …, Foo => …); -- Expression
Personally I wouldn't use named association for the first
(dispatching/oblect) parameter. I saw Foo (This => This, ...) too
often. And now you'd say
Foo.Set_Weight (Value => ...); or
Foo.Set_Weight (To => ...);
Bar := Foo.Weight;
> In any case, if things needs all to be properly named, naming from the
> user point of view, ends into bad name from the implementation/self
> point of view. So a corresponding renaming could be advisable in
> implementation.
>
> Ex.
>
> Me : constant Instance_Type renames This;
> Me : constant Instance_Type renames On;
> Me : constant Instance_Type renames Of;
> Me : constant Instance_Type renames From;
>
> Would be rather pleasant to read and unlikely to make people shout
> "Hey, that's too much wordy! That's just bloat!".
>
> What's your feeling?
I think I would say it was bloat. One very quickly gets used to 'This'
(especially when using a code generator which always uses 'This' for the
object parameter!). But for one of the longer 'functional' names I was
mentioning earlier, it certainly could make sense.
In my current project I found myself saying
type Attribute_Element is new Element with record
...
end record;
overriding
procedure Resolve (A : in out Attribute_Element);
overriding
procedure Output (A : Attribute_Element; To : Ada.Text_IO.File_Type);
because 'This' seemed inappropriate. But it was only a vague feeling.
next prev parent reply other threads:[~2012-02-11 20:06 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-09 21:10 Convention for naming of packages Yannick Duchêne (Hibou57)
2012-02-09 21:39 ` Jeffrey Carter
2012-02-10 15:07 ` Yannick Duchêne (Hibou57)
2012-02-10 17:04 ` Georg Bauhaus
2012-02-10 17:09 ` Georg Bauhaus
2012-02-10 17:41 ` Yannick Duchêne (Hibou57)
2012-02-13 9:33 ` Yannick Duchêne (Hibou57)
2012-02-11 0:56 ` Randy Brukardt
2012-02-13 3:09 ` BrianG
2012-02-10 17:21 ` Pascal Obry
2012-02-10 18:03 ` Yannick Duchêne (Hibou57)
2012-02-11 1:06 ` Randy Brukardt
2012-02-11 9:22 ` Simon Wright
2012-02-11 10:17 ` Yannick Duchêne (Hibou57)
2012-02-11 19:24 ` Yannick Duchêne (Hibou57)
2012-02-11 20:06 ` Simon Wright [this message]
2012-02-12 9:18 ` Yannick Duchêne (Hibou57)
2012-02-12 10:22 ` Simon Wright
2012-02-13 9:21 ` Yannick Duchêne (Hibou57)
2012-02-12 19:53 ` J-P. Rosen
2012-02-12 21:19 ` Yannick Duchêne (Hibou57)
2012-02-13 8:53 ` Dmitry A. Kazakov
2012-02-13 9:12 ` Yannick Duchêne (Hibou57)
2012-02-13 11:03 ` Dmitry A. Kazakov
2012-02-13 11:57 ` Yannick Duchêne (Hibou57)
2012-02-13 12:30 ` Yannick Duchêne (Hibou57)
2012-02-13 13:07 ` Dmitry A. Kazakov
2012-02-13 14:01 ` Yannick Duchêne (Hibou57)
2012-02-13 14:59 ` Dmitry A. Kazakov
2012-02-13 15:05 ` Yannick Duchêne (Hibou57)
2012-02-13 15:23 ` Dmitry A. Kazakov
2012-02-14 21:02 ` Yannick Duchêne (Hibou57)
2012-02-13 13:01 ` Dmitry A. Kazakov
2012-02-13 13:04 ` Yannick Duchêne (Hibou57)
2012-02-13 13:19 ` Dmitry A. Kazakov
2012-02-13 14:20 ` Yannick Duchêne (Hibou57)
2012-02-13 15:11 ` Dmitry A. Kazakov
2012-02-13 16:24 ` Yannick Duchêne (Hibou57)
2012-02-13 17:19 ` Dmitry A. Kazakov
2012-02-13 18:10 ` Yannick Duchêne (Hibou57)
2012-02-13 21:02 ` Dmitry A. Kazakov
2012-02-14 9:08 ` Yannick Duchêne (Hibou57)
2012-02-14 13:33 ` Dmitry A. Kazakov
2012-02-14 14:40 ` Yannick Duchêne (Hibou57)
2012-02-14 15:26 ` Dmitry A. Kazakov
2012-02-13 10:45 ` Georg Bauhaus
2012-02-13 10:59 ` Yannick Duchêne (Hibou57)
2012-02-14 10:18 ` Yannick Duchêne (Hibou57)
2012-02-14 11:51 ` Yannick Duchêne (Hibou57)
2012-02-14 22:21 ` Manuel Collado
2012-02-15 4:09 ` Simon Wright
2012-02-15 6:13 ` Niklas Holsti
2012-02-15 11:26 ` Yannick Duchêne (Hibou57)
2012-02-15 11:39 ` Georg Bauhaus
2012-02-15 11:47 ` Georg Bauhaus
2012-02-15 6:30 ` J-P. Rosen
2012-02-15 8:36 ` Simon Wright
2012-02-15 22:56 ` Robert A Duff
2012-02-15 11:27 ` Yannick Duchêne (Hibou57)
2012-02-15 11:43 ` Georg Bauhaus
2012-02-15 12:33 ` Georg Bauhaus
2012-02-15 12:55 ` Yannick Duchêne (Hibou57)
2012-02-15 17:30 ` Georg Bauhaus
2012-02-09 22:33 ` Simon Wright
2012-02-09 22:35 ` J-P. Rosen
2012-02-10 14:38 ` Yannick Duchêne (Hibou57)
2012-02-10 9:47 ` Mart van de Wege
2012-02-10 14:24 ` Yannick Duchêne (Hibou57)
2012-02-13 3:02 ` BrianG
2012-02-10 12:19 ` Brian Drummond
2012-02-10 14:22 ` Yannick Duchêne (Hibou57)
2012-02-10 19:16 ` Jeffrey Carter
2012-02-11 16:31 ` Martin Dowie
2012-02-16 17:44 ` Convention for naming of anything Yannick Duchêne (Hibou57)
2012-02-17 19:46 ` Yannick Duchêne (Hibou57)
2012-02-17 21:53 ` Manuel Collado
2012-02-17 22:12 ` Yannick Duchêne (Hibou57)
2012-02-17 23:52 ` Adam Beneschan
2012-02-18 0:24 ` Yannick Duchêne (Hibou57)
2012-02-18 0:50 ` Yannick Duchêne (Hibou57)
2012-02-18 22:53 ` BrianG
2012-02-19 11:16 ` Simon Wright
2012-03-06 0:36 ` Randy Brukardt
2012-02-18 11:32 ` Georg Bauhaus
2012-02-18 13:02 ` Yannick Duchêne (Hibou57)
2012-02-19 18:07 ` Phil Clayton
2012-02-19 21:53 ` Yannick Duchêne (Hibou57)
2012-02-20 0:21 ` Phil Clayton
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox