Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:guidelines [2019/05/16 13:13] – [Coding Style] gkazhoya | doc:guidelines [2019/07/11 13:24] (current) – gkazhoya | ||
|---|---|---|---|
| Line 49: | Line 49: | ||
| * ROS packages' | * ROS packages' | ||
| + | |||
| + | |||
| + | ==== Copyright notices ==== | ||
| + | CRAM is open source software licensed under the BSD licence. | ||
| + | This means the code can be used by any third party without having to contribute anything back and having to mention the original authors. | ||
| + | Our copyright notice is there to allow others to use our software without being afraid of being sued. | ||
| + | |||
| + | An example copyright notice can be found in the header of most '' | ||
| + | |||
| + | Here are some guidelines on how to deal with the copyright notice of your code: | ||
| + | * When you create a new '' | ||
| + | * If you simply copy pasted a file, please keep the original notice intact. | ||
| + | * For non-sourcecode files such as a '' | ||
| + | * When editing an existing file, you can add your name into the header if you made a substantial contribution to the code. | ||
| + | |||
| + | A contribution is considered substantial if: | ||
| + | * you added a new feature, | ||
| + | * you fixed a major bug and thereby edited many lines of code in the file, | ||
| + | * you made a major refactoring of the code and improved readability and maintainability greatly. | ||
| + | |||
| + | A contribution is considered not substantial if: | ||
| + | * you fixed a typo, | ||
| + | * fixed indentation, | ||
| + | * slightly improved a documentation string, | ||
| + | * other minor contributions such as minor refactoring and nicification, | ||
| + | * minor bug fixes, | ||
| + | * copy paste of existing code with minor tweaks. | ||
| + | |||
| + | This definition is, of course, not quantitative. If you are unsure, ask the current main maintainer of the software for an advice or look on the Internet for some inspiration, | ||
| + | |||
| + | |||
| + | ==== Unit Testing ==== | ||
| + | |||
| + | Testing your code is essential! | ||
| + | CRAM is a huge framework with a thousands of lines of code, so we have to make sure that whatever bricks we put in our CRAM skyscraper, they are robust. A couple of fragile bricks and our whole building will collapse. | ||
| + | |||
| + | To aid with testing, consider adding unit tests to functions in your code that have math and to your main API functions. | ||
| + | Take a look at the [[http:// | ||

 
 
 

 
