Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:guidelines [2019/05/16 13:43] – [Copyright notices] gkazhoyadoc:guidelines [2019/07/11 13:24] (current) gkazhoya
Line 66: Line 66:
 A contribution is considered substantial if: A contribution is considered substantial if:
   * you added a new feature,   * you added a new feature,
-  * you fixed a major bug and thereby edited many lines of code in the file.+  * 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: A contribution is considered not substantial if:
Line 77: Line 78:
  
 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, e.g., from the [[https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html#Copyright-Notices|GNU project]]. 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, e.g., from the [[https://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html#Copyright-Notices|GNU project]].
 +
 +
 +==== 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://cram-system.org/tutorials/beginner/testing|testing tutorial]] to get started on writing tests.