Octave style guide: Difference between revisions

m
 
(5 intermediate revisions by the same user not shown)
Line 19: Line 19:
Use only spaces, and indent 2 spaces at a time.
Use only spaces, and indent 2 spaces at a time.


We use spaces for indentation. Absolutely '''do not use tabs''' in your code.
Absolutely '''do not use tabs''' in your code. You should probably set your editor to emit spaces when you hit the tab key.
You should probably set your editor to emit spaces when you hit the tab key.


=== Whitespace ===
=== Whitespace ===
Line 86: Line 85:
<pre>n+1</pre>
<pre>n+1</pre>


In particular, when used as an argument to a function or as part of an indexing expression. For example, you may write
In particular, simple expressions used as an argument to a function or as part of an indexing expression usually look better without extra spacing. For example, you may write


<pre>
<pre>
Line 92: Line 91:
</pre>
</pre>


Another exception is for complex arithmetic expressions. It may improve readability to omit spaces around higher precedence operators, for example
Another exception is for complex arithmetic expressions. It ''may'' improve readability to omit spaces around higher precedence operators, for example


<pre>
<pre>
Line 115: Line 114:
== Naming ==
== Naming ==


Use lowercase names if possible.  Uppercase is acceptable for variable names consisting of 1-2 letters.  Do not use mixed case names.
Use lowercase names if possible.  Uppercase is acceptable for variable names consisting of 1-2 letters.  Do not use mixed case (a.k.a. CamelCase) names.


Function names must be lowercase.  Function names are global, so choose them wisely.
Function names must be lowercase.  Function names are global, so choose them wisely.
Line 123: Line 122:
=== Function names ===
=== Function names ===


For most public functions we are limited by Matlab compatibility.  Use
For most public functions we are limited by Matlab compatibility.  Use whatever name Matlab chose.
whatever name Matlab chose.


For functions that are not present in Matlab favor the use of underscores.
For functions that are not present in Matlab, favor the use of underscores.
For example, {{codeline|base64_decode}}, {{codeline|common_size}}, or
For example, {{codeline|base64_decode}}, {{codeline|common_size}}, or {{codeline|compare_versions}}.   
{{codeline|compare_versions}}.  There are exceptions to this:
 
There are exceptions to this:


; Matching C functions
; Matching C functions
Line 139: Line 138:
Avoid reusing the names of other functions as local variable names.  For
Avoid reusing the names of other functions as local variable names.  For
example, avoid naming local variables {{codeline|abs}},
example, avoid naming local variables {{codeline|abs}},
{{codeline|log}}, or {{codeline|pow}}.  These names might be used later to try to call the function with that name, but instead will refer to a local variable, leading to very confusing errors.
{{codeline|log}}, or {{codeline|pow}}.  These names might be used later to try to call the function of that name, but instead will refer to a local variable, leading to very confusing errors.


An exception is the use of {{codeline|i}} and {{codeline|j}} as loop indices.
An exception is the use of {{codeline|i}} and {{codeline|j}} as loop indices.
1,072

edits