Difference between revisions of "Contributing to GNUstep core libraries"

From GNUstepWiki
Jump to navigation Jump to search
 
 
Line 15: Line 15:
 
All new code in the core libraries needs corresponding test cases in the testsuite ... that makes sure that when anyone else tries to change the code, they see if they have broken anything.
 
All new code in the core libraries needs corresponding test cases in the testsuite ... that makes sure that when anyone else tries to change the code, they see if they have broken anything.
 
   
 
   
 +
=== [[Coding style]] ===
 +
 +
All headers, source files, and test cases should conform to the coding style standards of the GNUstep project.  A consistent style is very important in a collaborative project where other people will want to read your code (and where you may want to read theirs).
 +
 
=== [[Writing documentation]] ===
 
=== [[Writing documentation]] ===
  

Latest revision as of 12:51, 7 February 2012

Contributing major work to the core

Generally, if you are contributing a major piece of code to the GNUstep code, it's an implementation on a new class from OSX. As Apple keep adding new APIs with every release of OSX, there is always work to do here.

Creating the header

This is not as simple as copying Apple's header file ... though looking at their documentation and header are a good starting point.

Implementing the class

The design/coding is probably the most fun bit

Implementing test cases

All new code in the core libraries needs corresponding test cases in the testsuite ... that makes sure that when anyone else tries to change the code, they see if they have broken anything.

Coding style

All headers, source files, and test cases should conform to the coding style standards of the GNUstep project. A consistent style is very important in a collaborative project where other people will want to read your code (and where you may want to read theirs).

Writing documentation

We need documentation of the new classes and how they work ... you can write descriptions of how they work as you are implementing features/methods.

Copyright Assignment

Boring legal details, but we have to go through them