Všechny programy které vytváříme v rámci tohoto předmětu musí splňovat konvence popsané na této stránce. V praxi se můžeme setkat s různými kovencemi.
Proměnné
// Promenne pojmenovavame malymi pismeny a slova oddelujeme _
int number = 12;
long large_number = 183646499;
// Pokud je to možné, tak inicializaci a přiřazení hodnoty provádíme v jednom příkazu.
int result = function();
// ŠPATNĚ!!!
int result;
result = function();
Konstanty
// Komnstanty pojmenovavame velkymi pismeny a slova oddelujeme _
#define SIZE = 12
#define NUMBER_OF_DAYS 7
Funkce
// Funkce pojmenovavame malymi pismeny a slova oddelujeme _
int count(int array[]);
int count_zeros(int array[]);
// Závorky
// Preferované
int count(array[]) {
// Telo
}
int count(array[])
{
// Tělo
}
Dále u funkcí zavedeme pravidlo, že délka by němela přesáhnout 30 řádků. Pokud nejste schopni výpočet napsat pod tento limit musíte funkci rozdělit do několika menších.
Strukturované datové typy
// Výčtový typ
typedef enum {
// Hodnoty výčtového typu pojmenováváme velkými písmeny
MO, TU, WE, TH, FR, SA, SU
} Day; // Nazvy zacinaji velkým pismenem stejne jako kazde dalsi slovo v nazvu
typedef enum {
STUDENT, TEACHER, STUDENT_AND_TEACHER
} StagRole
// Struktury
// Struktury maji stejne kovence jako enum
// Nazvy hodnot ulozenych ve strukture podlehaji konvencim promennych
typedef struct {
char day;
char month;
short year;
} Date;
// Pokud potrebujeme ve strukture ukazatel na sebe sama tak pouzijeme nazev
// zacinajici malym pismenem
typedef struct node {
int value;
node *next;
} Node;
Konstrukce if
// Vzdy pouzivame { } bez ohledu na to kolik if obsahuje prikazu
if (condition) {
printf("Condition is true");
} else {
printf("Condition is false");
}
// Zavorky
// Preferovane
if (...) {
} else {
}
// Dovolene
if (...)
{
}
else
{
}
// ŠPATNĚ!!!
if (...)
// jeden prikaz
else {
// vice prikazu
}
Cykly
// Vzdy pouzivame zavorky bez ohledu na pocet prikazu v bloku.
for (int i = 0; i < ARRAY_SIZE; i += 1) {
}
for (int i = 0; i < ARRAY_SIZE; i += 1)
{
}
while (condition) {
}
while (condition)
{
}
do {
} while (condition);
do
{
} while (condition);
Makra
// Makra pojmenovavame velkymi pismeny a slova oddelujeme _
#define SIZE 1
// Pozor na spravne uzavorkovani
#define MAX(x, y) ((x) > (y) ? (x) : (y))
Ukazatele
Jsou povoleny všechny níže uvedené konvence a to kvůli použivaní Visual Studia některými studenty, kde IDE nepochopitelně zarovnává * k typu.
// Deklarace ukazatele
int *ptr = &...
int* ptr = &...
int mystery(int *array);
int mystery(int* array);
// U navratoveho typu funkce
int* mystery(char value);
int *mystery(char value);