Skip to content

Commit

Permalink
* Corrections contributed by Trevor Wennbolm
Browse files Browse the repository at this point in the history
  • Loading branch information
ktym committed Nov 14, 2005
1 parent e0c4fa9 commit 17b1f0f
Showing 1 changed file with 52 additions and 52 deletions.
104 changes: 52 additions & 52 deletions README.DEV
Original file line number Diff line number Diff line change
@@ -1,65 +1,63 @@
=begin

$Id: README.DEV,v 1.5 2005/11/08 06:42:54 k Exp $
$Id: README.DEV,v 1.6 2005/11/14 01:34:12 k Exp $

Copyright (C) 2005 Toshiaki Katayama <k@bioruby.org>

= How to contribute to the BioRuby project?

There are many possible ways to contribute to the BioRuby project,
such as
such as:

* Join the discussion on the BioRuby mailing list
* Send a bug report, write a bug fix patch
* Add and correcting documentations
* Development codes for new features etc.
* Send a bug report or write a bug fix patch
* Add and correct documentation
* Develop code for new features, etc.

and all of these are welcome!

However, here we describe on the last option -- how to contribute and
include your codes to the BioRuby distribution.
All of these are welcome! This document describes the last option,
how to contribute your code to the BioRuby distribution.

We would like to include your contribution as long as the scope of
your module meets the field of bioinformatics.

== Licence
== License

If you wish your module to be included in the BioRuby distribution,
you need to agree that your module is licensed under the GNU's LGPL
as the BioRuby chosen LGPL for its license.
If you would like your module to be included in the BioRuby
distribution, please license your module under GNU's LGPL for
compatibility with the BioRuby project.

== Coding style

You need to follow the typical coding styles of the BioRuby modules:
You will need to follow the typical coding styles of the BioRuby modules:

=== Use the following naming conventions

* CamelCase for module and class names,
* '_'-separated lowercase names for method names,
* '_'-separated lowercase names for variable names, and
* all uppercase names for constants.
* CamelCase for module and class names
* '_'-separated_lowercase for method names
* '_'-separated_lowercase for variable names
* all UPPERCASE for constants

=== Indentation must not include tabs

* Use 2 spaces for indentation.
* Don't replace spaces at the line head to tabs.
* Don't replace spaces to tabs.

=== Comments

Don't use =begin and =end block for comments. If you need to add
Don't use =begin and =end blocks for comments. If you need to add
comments, include it in the RDoc documentation.

=== Each file must start with the following text

#
# = bio/db/hoge.rb - Hoge database parser
#
# Copyright:: Copyright (C) 2001, 2005
# Bio R. Hacker <brh@example.org>,
# Chem R. Hacker <crh@example.org>
# Lisence:: LGPL
# Copyright:: Copyright (C) 2001, 2005
# Bio R. Hacker <brh@example.org>,
# Chem R. Hacker <crh@example.org>
# License:: LGPL
#
# $Id: README.DEV,v 1.5 2005/11/08 06:42:54 k Exp $
# $Id: README.DEV,v 1.6 2005/11/14 01:34:12 k Exp $
#
# == Blah blah blah
#
Expand All @@ -74,7 +72,8 @@ comments, include it in the RDoc documentation.
#
# == References
#
# * Hoge F. et al., The Hoge database, Nucleic. Acid. Res. 123:100--123 (2030)
# * Hoge F. et al., The Hoge database, Nucleic. Acid. Res.
123:100--123 (2030)
#
# * http://hoge.db/
#
Expand All @@ -92,44 +91,44 @@ comments, include it in the RDoc documentation.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
#
#

=== Documentation should be written in the RDoc format in the source code

The RDoc format is becoming de facto standard for the Ruby documentation.
So, we are now in transition from the RD format which we have been used
to the RDoc format in API documentations.
The RDoc format is becoming the popular standard for Ruby documentation.
We are now in transition from the previously used RD format to the RDoc
format in API documentation.

Additional tutorial documents and some working examples are also
welcome when you contribute your codes. You may also able to use
the header part of the file for this purpose as shown in the previous
section.
Additional tutorial documentation and working examples are encouraged
with your contribution. You may use the header part of the file for
this purpose as demonstrated in the previous section.

=== Testing code should use 'test/unit'

Unit test should come with your modules by which you can assure what
you meant to do with each method. The test code is also able to make
your maintainance procedure easy and stable.
Unit tests should come with your modules by which you can assure what
you meant to do with each method. The test code is useful to make
maintenance easy and ensure stability.

=== Using autoload

To make fast start up, we replaced most of 'require' to 'autoload'
since the BioRuby version 0.7. During this change, we have found
To quicken the initial load time we have replaced most of 'require' to
'autoload'
since BioRuby version 0.7. During this change, we have found
some tips:

You sholud not separate a same namespace into several files.
You should not separate the same namespace into several files.

* For example, if you have separated definitions of the Bio::Foo
class in two files (e.g. 'bio/foo.rb' and 'bio/bar.rb'), you
need to resolve the dependency of them (including the order of
loading these two files) by yourself.
class into two files (e.g. 'bio/foo.rb' and 'bio/bar.rb'), you
need to resolve the dependencies (including the load order)
yourself.

* It is not the case that you have a definition of Bio::Foo in
'bio/foo.rb' and a definition of Bio::Foo::Bar in 'bio/bar.rb'.
In this case, you just need to add following line in the
'bio/foo.rb' file.
* If you have a defined Bio::Foo in 'bio/foo.rb' and a defined
Bio::Foo::Bar in 'bio/foo/bar.rb' add the following line in the
'bio/foo.rb' file:

autoload :Bar, 'bio/foo/bar'

Expand All @@ -149,11 +148,11 @@ You should not put several top level namespaces in one file.

autoload :Foo, 'bio/foo'

to make autoload can be written in 1 line.
so autoload can be written in 1 line.

== Name space

Your module should be located under the module Bio and put under
Your module should be located under the top-level module Bio and put under
the 'bioruby/lib/bio' directory. The class/module names and the
file names should be short and descriptive.

Expand All @@ -166,12 +165,13 @@ There are already several sub directories in 'bioruby/lib':
bio/io/ -- I/O interfaces for files, RDB, web services etc.
bio/util/ -- utilities and algorithms for bioinformatics

If your module doesn't match to any of the above, please propose
If your module doesn't match any of the above, please propose
an appropriate directory name when you contribute.

== Maintainance

Finally, please keep maintain the code your contrubuted. The BioRuby
staff is willing to give you CVS privilege if needed.
Finally, please maintain the code you've contrubuted. The BioRuby
staff is willing to give you CVS privileges if needed.

=end

0 comments on commit 17b1f0f

Please sign in to comment.