comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: using `use' : what is the best practice ?
Date: Tue, 7 Jun 2011 16:38:53 -0700 (PDT)
Date: 2011-06-07T16:38:53-07:00	[thread overview]
Message-ID: <03a8fa21-b515-41ea-bc65-b6ab85b0e88c@25g2000yqn.googlegroups.com> (raw)
In-Reply-To: 57e75a35-058c-4172-9a3d-e11e7c5f7697@l2g2000prg.googlegroups.com

On Jun 7, 10:32 am, milouz <a.micheli...@gmail.com> wrote:
> Hi guys,
> Sorry with my annoying questions, but it's not easy to program in Ada
> after 20 years programming in asm / C ;-)
>
> Maybe a not so anecdotic question : when using the 'use' clause ?
>
> My first thought is that using 'use' is not good because it masks the
> package tree.

While this is true it can be handy for reducing prefix-clutter,
as could a rename. So, while you may be hesitant to use them on the
package, I find using them in declare-blocks and subprograms to be
quite readable and usable.

With
Ada.Text_IO;

Package Body Example is
 [...]
 Procedure Something_Interesting is
   Use Ada.Text_IO; -- We're debugging here.
 begin
   [...]
  Put_Line( "Debugging marker." );
   [...]
 end Something_interesting;
End Example;

> For example, if I have 2 packages with procedures sharing the same
> name, example `P1.Foo' and `P2.Foo', my code won't be very readable if
> I only write the short name (`Foo') :
>
>    with P1; use P1;
>    with P2; use P2;
[...]
> As I'm very new, I'd like to have your opinion about the way to use
> 'use'.

Ah, I like to use the comma-separated forms of use/with; this can be
helpful if you wish to do a quick commenting out of a use or with to
pass to the compiler and see if you really need it at all.

EX:
With
Ada.Text_IO,
--Ada.Integer_IO, -- Am I even using Ada.Integer_IO?
--Ada.Tags,
--MY_PARSING_PACKAGE,
[...]
MY_CONSOLE_MANIPULATION_PACKAGE
;

Use
Ada.Text_IO,
--Ada.Tags,  -- Do I really need to USE tags?
MY_CONSOLE_MANIPULATION_PACKAGE;




  parent reply	other threads:[~2011-06-07 23:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-07 15:32 using `use' : what is the best practice ? milouz
2011-06-07 15:59 ` Simon Wright
2011-06-07 16:22 ` Dmitry A. Kazakov
2011-06-07 16:59   ` Simon Wright
2011-06-07 17:25     ` Dmitry A. Kazakov
2011-06-07 17:29       ` Simon Wright
2011-06-07 19:38         ` Dmitry A. Kazakov
2011-06-11 14:11           ` Yannick Duchêne (Hibou57)
2011-06-08  9:07       ` Paul Colin Gloster
2011-06-08 11:20         ` stefan-lucks
2011-06-08 16:45           ` Vinzent Hoefler
2011-06-11 14:05       ` Yannick Duchêne (Hibou57)
2011-06-07 17:33 ` Pascal Obry
2011-06-08  2:42   ` Randy Brukardt
2011-06-12  5:09   ` Yannick Duchêne (Hibou57)
2011-06-07 18:51 ` Jeffrey Carter
2011-06-08  0:04   ` Peter C. Chapin
2011-06-07 19:32 ` Anders Wirzenius
2011-06-07 23:38 ` Shark8 [this message]
2011-06-12  5:19   ` Yannick Duchêne (Hibou57)
2011-06-12  7:55   ` Stephen Leake
2011-06-08  4:25 ` Jerry
2011-06-08  9:31   ` milouz
2011-06-08 17:17     ` Ludovic Brenta
2011-06-08 18:43     ` Jeffrey Carter
2011-06-09 10:40       ` Address arithmetic alternatives milouz
2011-06-09 11:25         ` Georg Bauhaus
2011-06-09 18:53         ` Jeffrey Carter
2011-06-08 19:22     ` using `use' : what is the best practice ? Pascal Obry
2011-06-09  1:17     ` Shark8
2011-06-09 10:44       ` milouz
2011-06-08  6:06 ` stefan-lucks
2011-06-15  2:25 ` Adrian Hoe
replies disabled

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