Diferență între revizuiri ale paginii „Convenții de cod - C”
Linia 68: | Linia 68: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | = Spații = | ||
+ | |||
+ | <ol> | ||
+ | <li>Se pun spații înainte și după operatorii binari (=, ==, !=, <, etc.): | ||
+ | <syntaxhighlight lang="C"> | ||
+ | int result = operand1 + operand2 / operand3; | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
+ | <li>'''NU''' se pun spații înainte operatorii unari (!, -, ++, --, etc.) și operand: | ||
+ | <syntaxhighlight lang="C"> | ||
+ | int result = operand1++ + -operand2; | ||
+ | int canUse = !isEmpty && !isFull; | ||
+ | </syntaxhighlight> | ||
+ | </li> | ||
+ | |||
+ | </ol> |
Versiunea de la data 6 decembrie 2015 12:36
Acest document descrie regulile ce trebuie respectate la scrierea de programe în C, atât pentru materia Programarea Calculatoarelor cât și pentru Structuri de Date și Algoritmi. Nerespectarea acestor reguli va duce la depunctarea implementării respective.
Identificatori
Numele de variabile urmează convenția CamelCase, cu excepția numelor de macrouri și constante statice care vor urma convenția snake_case și care vor fi scrise exclusiv cu litere mari.
În același timp toți identificatorii trebuie sa aibă nume sugestive, care să descrie fără ambiguitate scopul sau funcționalitatea variabilei sau funcției.
Nume de variabile
Numele de variabile locare sau argumente
Numele de variabile locale sau argumente de funcții vor incepe cu literă mică și vor urma convenția CamelCase:
void printMyName(char name[]) {
int variableName;
float floatValue;
//...
}
Numele de variabile globale
Numele de variabile globale trebuie să înceapă cu litera 'g' și următoarea literă mare și vor urma convenția CamelCase. Litera 'g' specifică faptul că variabila este globală și nu este definită în contextul curent:
long long gCurrentTime;
void updateCurrentTime(long interval) {
gCurrentTime += interval;
}
Numele de macrouri și constante statice
Numele de macrouri și constante statice vor urma convenția snake_case și vor fi scrise exclusiv cu litere mari:
#define MAX_STRING_LENGTH 100
#define MAX(x, y) ((x) >= (y) ? (x) : (y))
static const MAX_CLIENTS = 1000;
Numele de funcții
Numele de funcții vor urma convenția CamelCase și vor începe cu literă mică:
int addValues(int, int);
float convertValue(float);
void printData(struct Person person);
Numele de structuri
Numele de structuri vor urma convenția CamelCase și vor începe cu literă mare:
struct Person {
char name[50];
unsigned short age;
char cnp[14];
};
struct DataStore {
struct Person people[];
long long rsaKey;
};
Spații
- Se pun spații înainte și după operatorii binari (=, ==, !=, <, etc.):
int result = operand1 + operand2 / operand3;
- NU se pun spații înainte operatorii unari (!, -, ++, --, etc.) și operand:
int result = operand1++ + -operand2; int canUse = !isEmpty && !isFull;