Sidebar






Old

courses:programming:rules

This is an old revision of the document!


Правила для лабораторных работ

Код

Код должен содержать осмысленные, говорящие имена переменных и функций

Пример функции, которая считает, сколько раз символ letter встретится в строке string:

int letterCounter(char *string, char letter)
{
	int letterCount = 0;
	for(int i = 0; string[i]; i++)
		if(string[i] == letter)
			letterCount++;
	return letterCount;
}

Исключение: имена переменных в цикле cо счётчиком

Пример использования цикла со счётчиком:

for(i = 0; i < array_size; i++){
   ... // тело цикла
}

Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets

Пример использования fgets для считывания с консоли:

int size = 100;
char string[size];
fgets(string,size,stdin);

Освобождайте выделенную динамическую память

Пример выделения и освобождения памяти:

char* buffer = (char*)malloc(sizeof(char) * buffer_size);
...
free(buffer);

git & GitHub

Именование ветки: <Фамилия>_<Имя>_<Вид и номер работы>

Пример именования ветки для студента Иванова Ивана, который хочет выполнить первую лабораторную работу:

Ivanov_Ivan_lr1

Комменарий коммита должен быть осмысленным

Пример добавления комментария к коммиту (Ubuntu):

git commit -m "Ivanov LR №1 done"

Каждая новая лабораторная/курсовая работа/контрольная работа должна находиться в своей ветке, которая обязательно должна быть создана из ветки master

Пример перехода на ветку master и создания + перехода в новую ветку Ivanov_Ivan_lr1 (Ubuntu):

git checkout master && git pull origin master
git checkout -b Ivanov_Ivan_lr1

Каждая лабораторная работа должна находиться в своей папке

Пример создания папки (Ubuntu):

mkdir Ivanov_Ivan_lr1

Добавление файлов на Github должно происходить с помощью консоли

Пример добавления файлов, создания коммита и отправки коммитов на GitHub (Ubuntu):

git add Ivanov_Ivan_lr1/main.c
git commit -m "Ivanov LR №1 done"
git push origin Ivanov_Ivan_lr1
courses/programming/rules.1487689326.txt.gz · Last modified: 2022/12/10 09:08 (external edit)