О красивом коде

О красивом коде

Основные правила форматирования красивого кода:

  1. Все внутренние блоки должны содержать отступ 2 или 4 пробела.
  2. Вокруг знаков арифметических операций, присваиваний, двойных угловых скобок ставятся пробелы.
  3. Функции и блоки описания разделяются пробелами.
  4. После запятой ставится пробел.
  5. Между именем функции и скобкой пробел не ставится. С внутренней стороны пробел также не ставится.
  6. Между if, for, while и скобкой ставится пробел.
    7. Если внутренний блок требует постановки фигурных скобок, то открывающая фигурная скобка ставится на одной строке с оператором через пробел, а закрывающая сразу под оператором.

Примеры по некоторым пунктам:

1.

Правильно:

for (int i = 0; i < n; i++) {
cin >> a;
cout << a;
}

Неправильно:

for (int i = 0; i < n; i++) {
cin >> a;
cout << a;
}

2.

Правильно:

cin >> b >> c;
int a = b + c;
cout << a;

Неправильно:

cin>>b>>c;
int a=b+c;
cout<<a;

4.

Правильно:

int a = max(a, b);

Неправильно:

int a = max(a,b);

5.

Правильно:

int sum(int a, int b) {
return a + b;
}

Неправильно:

int sum ( int a, int b ) {
return a + b;
}

6.

Правильно:

for (int i = 0; i < n; i++)
if (a > b)
return 0;

Неправильно:

for(int i = 0; i < n; i++)
if(a > b)
return 0;

7.

Правильно:

for (int i = 0; i < n; i++) {
a++;
b++;
}

Неправильно:

for (int i = 0; i < n; i++)
{
a++;
b++;
}

И наконец пример правильно написанной программы, где я постарался отобразить все пункты:

#include <iostream>

using namespace std;

#define maxn 1000

int a, b, z;

int arr[maxn];

struct Point {
double x;
double y;
};

int sum(int x, int y) {
return x + y;
}

int mul(int x, int y) {
return x * y;
}

int main() {
freopen(«a.in», «r», stdin);
freopen(«a.out», «w», stdout);

cin >> a >> b >> z;

int c = sum(a, b);
int d = mul(a, b);

for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
a++;
b++;
}
if (z > 100)
return 0;
else if (z == 40) {
cout << c;
return 0;
}
}

cout << c << ‘ ‘ << d;

return 0;
}

One Reply to “О красивом коде”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *