From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Visibility problems with package instantiations.....
Date: Wed, 03 Dec 2003 09:37:10 +0100
Date: 2003-12-03T09:37:10+01:00 [thread overview]
Message-ID: <nv6rsvcom1961uu0sno3ogg7g68hvvd7ck@4ax.com> (raw)
In-Reply-To: uptf76vk7.fsf@nasa.gov
On 02 Dec 2003 11:20:08 -0500, Stephen Leake <Stephe.Leake@nasa.gov>
wrote:
>Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> writes:
>
>> On 01 Dec 2003 11:31:19 -0500, Stephen Leake <Stephe.Leake@nasa.gov>
>> wrote:
>>
>> >Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> writes:
>> >
>> >> On 30 Nov 2003 23:45:51 -0800, petter.fryklund@atero.se (Petter
>> >> Fryklund) wrote:
>> >
>> >> >Our CM policy
>> >> >also dictates a directory structure with every unit in it's own branch
>> >> >leading to a large tree.
>> >>
>> >> It is a reasonable policy.
>> >
>> >Maybe for Java, which requires that directory structure anyway.
>> >
>> >But for Ada, which has a good way to name files that indicates the
>> >package heirarchy, directories should be used for even higher level
>> >organization, like projects.
>>
>> For a small or medium sized project one can indeed pack everything in
>> one directory. With hundreds of files it becomes rather difficult.
>
>Why? I don't have a problem with 280 files on Windows 2000. What sorts
>of problems do you run into?
To find a file in that huge directory. Note also that a nested package
of level 5 could have name like:
fuzzy.graph.handle.learning.implementation.ads
It becomes a pain to navigate across this directory. It is difficult
for human eye to recognize a postfix of a long name. So one have to
separate files in some way. One possible way is to mimic the package
tree. It is a reasonable way, but not the only one.
>> So if there is no good code management system or IDE, it becomes
>> reasonable to have separate directories for project branches [mapped
>> to packages].
>
>You are using the term "branches" in a way that is different than I'm
>used to; I use it in the context of configuration management, to mean
>a different development path of the same set of code; for a release,
>or for an experimental new feature.
The difference is not that great. For example, in one of my projects,
there were many different layers of interfaces. Private, half-public,
public + their implementations in different environments. It was
reasonable to put the corresponding packages into different
directories. Then not surprisingly, the resulting directory tree
closely resembled one of the packages.
>> BTW, maybe a stupid idea, but what if we change file naming policy
>> allowing:
>>
>> package A.B is ...
>>
>> to be named "b.ads" IFF that is placed in a subdirectory named "a" of
>> the directory containing "a.ads"?
>
>You can try that, but you have to get the compiler to support it.
Surely
>That's unlikely; most require a unique file name, _independent_ of the
>directory.
--
Regards,
Dmitry Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2003-12-03 8:37 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-27 15:42 Visibility problems with package instantiations Petter Fryklund
2003-11-27 16:33 ` Dmitry A. Kazakov
2003-11-28 11:23 ` Petter Fryklund
2003-11-28 13:17 ` Dmitry A. Kazakov
2003-12-01 7:45 ` Petter Fryklund
2003-12-01 8:58 ` Dmitry A. Kazakov
2003-12-01 16:31 ` Stephen Leake
2003-12-02 9:00 ` Dmitry A. Kazakov
2003-12-02 16:20 ` Stephen Leake
2003-12-03 8:37 ` Dmitry A. Kazakov [this message]
2003-12-03 18:09 ` Stephen Leake
2003-12-04 9:16 ` Dmitry A. Kazakov
2003-12-04 13:09 ` Stephen Leake
2003-12-04 14:03 ` Dmitry A. Kazakov
2003-12-04 19:24 ` Randy Brukardt
2003-12-05 0:30 ` Stephen Leake
2003-12-05 2:58 ` Randy Brukardt
2003-12-05 14:04 ` Stephen Leake
2003-12-05 12:14 ` Jeff C,
2003-12-05 13:13 ` Arnaud Charlet
2003-12-05 20:52 ` Randy Brukardt
2003-12-05 21:10 ` Simon Wright
2003-12-02 17:07 ` Jeffrey Carter
2003-12-03 8:49 ` Dmitry A. Kazakov
2003-12-02 4:25 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox