1,072
edits
m (→Indentation) |
m (→Indentation) |
||
(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. | ||
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, | 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 | {{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. |
edits