Re: Standard Euphoria Library project
- Posted by D. Newhall <derek_newhall at yahoo.com> Jul 15, 2005
- 579 views
Juergen Luethje wrote: > > I'm sorry for the delay in replying. I was a little distracted. > > I'll have a look at it. I'll also again have look at Tommy's Kanarie, to > see how good it might be suited for this task. > > So what do we need to start: > > o Some pages on the web. > - Christian's site, my site, SourceForge? Totally agree. I think we need to get a website up with information and contact info so people know what's going on, what we need, and how to contribute. > o There we'll write down > - A mission statement > - Coding guidelines As for coding guidelines, this could be a bit problematic... We certainly need them but everyone has their own idea of what is "right". I'd suggest keeping the guidlines as close to Rob's code as possible. While many people might like the "aVal is an atom, cVal is a constant, etc." style I think keeping the libraries as close to "standard" as can be is a good idea and so far all we really have is Rob's code. Here is what some of these guidelines would be: Constant names are all written in all capital letters. ex. constant TRUE = 1 Global variables start with a capital letter. (NOTE: Not Rob's coding style but many people do this and I think it works very well) (ALSO NOTE: global could mean global in the file or global as in exported) ex. integer Debug_switch Local variables are written in all lowercase letters. ex. integer index All routines and types are written in all lowercase letters. ex. function get() Varaible names are written in a "block" style. ex. constant A = "A", BC = "bc", DEF = "def" Comments should have at least one space after the "--", if there isn't one it's commented out code ex. -- This is a comment, below is a line of code commented out --line = "commented out" All code blocks whould be indented with 4 spaces like ed does. ex. if x = 5 then do_crap() end if If the next line is run off from a previous use 2 space indent. ex. If a = 5 and b = 4 and c = 3 then For the most part, constants and routines should not be abbreviations. (Only local variables) ex. integer pos procedure position() > - A list of say 3 to 5 .e files that should be contained in the first > release. string.e -- String handling cgi.e -- CGI routines math.e -- Math functions system.e -- File system commands (move_file(), delete_file(), etc.) I also have a list of routines that should be written for each. > - A list of contributers (Who will do what?) I'll gladly contribute code (I have tons of libraries for my own use) and I'm sure other people will once the ball gets rolling. > I don't have any experience with organizing such a project. > > Regards, > Juergen