guides:programstyle:whitespace
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| guides:programstyle:whitespace [2020/08/04 16:45] – [One line per statement in most cases.] wikiadmin | guides:programstyle:whitespace [2022/08/02 11:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| * **vi** | * **vi** | ||
| * In vi, add //set expandtab// to your .vi, .exrc, vimrc or other | * In vi, add //set expandtab// to your .vi, .exrc, vimrc or other | ||
| + | * **nano** | ||
| + | * In nano, add //set tabstospaces// | ||
| + | * You can also set the size of the indentation with //set tabsize 4// (or whatever size you wish). | ||
| + | |||
| Line 57: | Line 61: | ||
| An unacceptable example | An unacceptable example | ||
| <code c++> | <code c++> | ||
| - | x = r | + | x = r |
| *cos(theta * M_PI/180) | *cos(theta * M_PI/180) | ||
| *sin(phi * M_PI/180) | *sin(phi * M_PI/180) | ||
| </ | </ | ||
| + | |||
| + | An exception to this rule occurs when a line becomes long and needs to be wrapped. | ||
| + | * Functions with many parameters | ||
| + | * Output lines | ||
| + | |||
| + | See the [[guides: | ||
| + | |||
| + | A second exception occurs when declaring multiple variables of the same type. Again, see [[guides: | ||
| ==== Use blank lines to separate sections of code. ==== | ==== Use blank lines to separate sections of code. ==== | ||
| + | |||
| + | Much like new paragraphs in English composition, | ||
| + | |||
| + | The following is an unacceptable use of blank lines | ||
| + | <code c++> | ||
| + | int max = 0, | ||
| + | min = 0, | ||
| + | num, | ||
| + | sum = 0, | ||
| + | i, | ||
| + | count; | ||
| + | bool first = true; | ||
| + | cin >> count; | ||
| + | for(i = 0; i < count; i++) { | ||
| + | cin >> num; | ||
| + | if(first) { | ||
| + | min = num; | ||
| + | | ||
| + | first = false; | ||
| + | } | ||
| + | sum += num; | ||
| + | if (num > max) { | ||
| + | max = num; | ||
| + | } | ||
| + | if (num < min) { | ||
| + | num = min; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | The following is a more acceptable use of blank lines. | ||
| + | <code c++> | ||
| + | int max = 0, | ||
| + | min = 0, | ||
| + | num, | ||
| + | sum = 0, | ||
| + | i, | ||
| + | count; | ||
| + | | ||
| + | bool first = true; | ||
| + | |||
| + | cin >> count; | ||
| + | for(i = 0; i < count; i++) { | ||
| + | cin >> num; | ||
| + | | ||
| + | if(first) { | ||
| + | min = num; | ||
| + | | ||
| + | first = false; | ||
| + | } | ||
| + | | ||
| + | sum += num; | ||
| + | | ||
| + | if (num > max) { | ||
| + | max = num; | ||
| + | } | ||
| + | | ||
| + | if (num < min) { | ||
| + | num = min; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| ==== Consistently use a single style for brace placement. ==== | ==== Consistently use a single style for brace placement. ==== | ||
| + | |||
| + | Braces are used to mark the body of control structures, type definitions and other related blocks of code. A consistent use of bracket placement provides readers with a visual guide to the structure of a program. | ||
| + | |||
| + | Several styles are approved in the local style guide. | ||
| + | |||
| + | === Allman === | ||
| + | |||
| + | In the Allman style, braces associated with the start of a control statement begin on the next line, indented at the same level. | ||
| + | |||
| + | <code c++> | ||
| + | int main() | ||
| + | { | ||
| + | int i; | ||
| + | bool printed = false; | ||
| + | |||
| + | for(i = 1; i < 100; i++) | ||
| + | { | ||
| + | printed = false; | ||
| + | | ||
| + | if (i % 3 == 0) | ||
| + | { | ||
| + | cout << " | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if (i % 5 == 0) | ||
| + | { | ||
| + | cout << " | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if (not printed) | ||
| + | { | ||
| + | cout << i; | ||
| + | } | ||
| + | cout << endl; | ||
| + | } | ||
| + | |||
| + | | ||
| + | } | ||
| + | </ | ||
| + | === K&R OTBS === | ||
| + | |||
| + | In this style, the opening brace is placed at the end of the beginning of a control structure. | ||
| + | <code c++> | ||
| + | int main() { | ||
| + | int i; | ||
| + | bool printed = false; | ||
| + | |||
| + | for(i = 1; i < 100; i++) { | ||
| + | printed = false; | ||
| + | | ||
| + | if (i % 3 == 0) { | ||
| + | cout << " | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if (i % 5 == 0) { | ||
| + | cout << " | ||
| + | | ||
| + | } | ||
| + | | ||
| + | if (not printed) { | ||
| + | cout << i; | ||
| + | } | ||
| + | cout << endl; | ||
| + | } | ||
| + | |||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | While either style is acceptable, programmers should select a single style and employ it constantly. | ||
| + | |||
| + | |||
| ==== Place spaces between operators in statements. ==== | ==== Place spaces between operators in statements. ==== | ||
| - | ==== Do not exceed 80 characters | + | |
| + | Proper spacing in statements, especially mathematical calculations make it easier to read these statements. | ||
| + | |||
| + | Unacceptable example: | ||
| + | <code c++> | ||
| + | for(i=0; | ||
| + | ... | ||
| + | } | ||
| + | |||
| + | x = r*cos(theta)*sin(phi); | ||
| + | |||
| + | r1 = (-b+sqrt(4*a*c))/ | ||
| + | </ | ||
| + | |||
| + | Acceptable example: | ||
| + | <code c++> | ||
| + | for(i = 0; i < 20; i++) { | ||
| + | ... | ||
| + | } | ||
| + | |||
| + | x = r * cos(theta) * sin(phi); | ||
| + | |||
| + | r1 = (-b + sqrt(4*a*c)) / (2*a); | ||
| + | </ | ||
guides/programstyle/whitespace.1596559502.txt.gz · Last modified: 2022/08/02 11:59 (external edit)