Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


manual:coding_style_guide

Differences

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

Link to this comparison view

Next revision
Previous revision
manual:coding_style_guide [2015/07/02 18:14] – created zenkemanual:coding_style_guide [2018/05/18 15:08] (current) – typo zenke
Line 1: Line 1:
 ====== Naming conventions ====== ====== Naming conventions ======
  
-On the long the Auryn code should follow Googles naming conventions because there seems to be some kind of consensus on those. +Overall the Auryn code should follow Googles naming conventions because there seems to be to some degree a consensus on those. 
-[[https://google-styleguide.googlecode.com/svn/trunk/cppguide.html]]+[[https://google.github.io/styleguide/cppguide.html]]
  
-However, currently the code only enforces these conventions in part. Here are some naming conventions in Auryn which seem to have emerged over the years. Most of them are in line with the Google style.+However, currently the code only enforces these conventions in part. Here are some naming conventions in Auryn which seem to have emerged over the years. Most of them are in line with the Google style. The most important deviation concerns file names which are so far all in CamelCase
  
 **Variable names** in the code should be named all lower case with underscores_where_necessary. **Variable names** in the code should be named all lower case with underscores_where_necessary.
  
 **Class names** should be in CamelCase starting with a capital letter. Classes should be defined in their own .h .cpp file combination which should carry the same names and case. **Class names** should be in CamelCase starting with a capital letter. Classes should be defined in their own .h .cpp file combination which should carry the same names and case.
 +
 +  * Classes deriving from [[SpikingGroup]] should have name ending in Group (e.g. [[TIFGroup]])
 +  * Classes deriving from [[Connection]] should have name ending in Connection (e.g. [[SparseConnection]])
 +  * Classes deriving from [[Monitor]] should have name ending in Monitor (e.g. [[SpikeMonitor]])
  
 **Class instances** either variable case or camel case with the first letter being a small letter.  **Class instances** either variable case or camel case with the first letter being a small letter. 
  
 **Macro names** ALL_CAPS_WITH_UNDERSCORES **Macro names** ALL_CAPS_WITH_UNDERSCORES
manual/coding_style_guide.1435860889.txt.gz · Last modified: 2015/07/02 18:14 by zenke