[evla-sw-discuss] code organization

Kevin Ryan kryan at nrao.edu
Wed Oct 25 19:35:43 EDT 2006


I think we will find that if we do our homework in naming paths by  
their (content's) function the rest will sort itself out so that we  
won't have things mixed together that should not be.

In the 'gui' directories of widar, all of the sources are Java, but  
in the low-level CMIB real-time software area they are 'C' files.   
They naturally sorted themselves because of the way their paths were  
named after what they do.  The deployed server-side directories have  
a 'config' directory that contains XML files, but if we implemented  
configuration files using something other than XML, the path name  
would still remain the same.  If instead we called it 'xml' then we  
would have configuration files mixed in with XML files for other  
purposes.  And, if we decided to use something other than XML for  
configurations, our path becomes broken.

On the other hand, some different-language files make sense to be in  
the same directory like JNI C and Java files; or, if I'm searching  
for a particular CGI implementation, I should not have to know if it  
was written in C or perl or any of the many other possible ways to  
implement CGI.  I should just be able to go to the CGI directory and  
find it by its function.  I will discover what language it was  
written in by its extension.

Structure this with the best interests in mind for sharing,  
development and deployment as a system - not what tools were used to  
implement it.  Someone outside our group should not have to stumble  
around the paths based on how Maven or CVS or Subversion works (make  
those things work with _our_ hierarchy not theirs); nor should they  
have to know what scripting-language-du-Jour was used to implement a  
specific function.  Implementation can change and when it does, we  
don't want our hierarchy to break.

Kev

On Oct 25, 2006, at 3:34 PM, Bryan Butler wrote:

>
> i agree with brian here.  for the webapps they also need the  
> related assembly
> and config stuff, and it's nice to have it separated out.
>
> sometimes it's nice to have everything all in one directory, but as  
> things get
> more complicated, it becomes impossible to find the needle in the  
> haystack, as
> it were.
>
> 	-bryan
>
>
> On 10/25/06 15:31, Brian Truitt wrote:
>> Kevin Ryan wrote:
>>> A person searching the hierarchy for
>>> VlaAntenna should know that it is part of the AMCS of the EVLA of
>>> NRAO but should not have to know the name of the processor that it
>>> might run in or the language that it was written in in order to find
>>> it in our source repository.
>>>
>>> Kevin
>>>
>>
>> In this case, how do we organize projects utilizing multiple  
>> languages?
>> We have C, perl, java, and jsp at least strewn throughout our  
>> projects.
>> (There's a perl script used to compile the online help used in the  
>> PST
>> for example). I have no interest in mixing perl scripts in with my  
>> java
>> packages, or my jsp and html for that matter. Where do they go  
>> then? A
>> concrete alternate suggestion for this scenario would be useful.
>>
>> I certainly find the directory structures verbose and lengthy as  
>> well,
>> so alternatives that handle all our use cases are welcome.
>>
>> Brian
>> _______________________________________________
>> evla-sw-discuss mailing list
>> evla-sw-discuss at listmgr.cv.nrao.edu
>> http://listmgr.cv.nrao.edu/mailman/listinfo/evla-sw-discuss
> _______________________________________________
> evla-sw-discuss mailing list
> evla-sw-discuss at listmgr.cv.nrao.edu
> http://listmgr.cv.nrao.edu/mailman/listinfo/evla-sw-discuss




More information about the evla-sw-discuss mailing list