This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
courses:programming:rules [2019/02/18 14:18] pro100kot [Добавление файлов на Github должно происходить с помощью консоли] |
courses:programming:rules [2023/09/13 07:32] sergey_tinyakov |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Правила для лабораторных работ ===== | + | ===== Правила оформления кода для лабораторных работ ===== |
- | |||
- | ===== Код ===== | ||
==== Код должен содержать осмысленные, говорящие имена переменных и функций ==== | ==== Код должен содержать осмысленные, говорящие имена переменных и функций ==== | ||
Line 30: | Line 28: | ||
==== Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets ==== | ==== Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets ==== | ||
- | Пример использования fgets для считывания с консоли: | + | Пример использования ''fgets'' для считывания с консоли: |
<code> | <code> | ||
int size = 100; | int size = 100; | ||
char string[size]; | char string[size]; | ||
fgets(string,size,stdin); | fgets(string,size,stdin); | ||
+ | </code> | ||
+ | |||
+ | Помимо функции ''fgets'' можно посимвольно считывать строку через ''getchar'', однако вариант с ''fgets'' является более правильным. | ||
+ | |||
+ | __**Если есть гарантии по условию**__, что на вход будет подаваться какой-то **один конкретный тип данных __кроме строки__** (например, целочисленное число), | ||
+ | то тогда можно использовать функцию ''scnaf''. Например, следующий код считывает число между двумя вертикальными чертами (например, ''|15|''): | ||
+ | <code> | ||
+ | int x; | ||
+ | scanf("|%d|", &x); | ||
</code> | </code> | ||
Line 46: | Line 53: | ||
</code> | </code> | ||
- | ===== git & GitHub ===== | ||
- | |||
- | ==== Именование ветки: <Фамилия>_<Имя>_<Вид и номер работы> ==== | ||
- | |||
- | Пример именования ветки для студента Иванова Ивана, который хочет выполнить первую лабораторную работу: | ||
- | <code> | ||
- | Ivanov_Ivan_lr1 | ||
- | </code> | ||
- | |||
- | ==== Комменарий коммита должен быть осмысленным ==== | ||
- | |||
- | Пример добавления комментария к коммиту (Ubuntu): | ||
- | <code> | ||
- | git commit -m "Ivanov LR №1 done" | ||
- | </code> | ||
- | |||
- | ==== Каждая новая лабораторная/курсовая/контрольная работа должна находиться в своей ветке, которая обязательно должна быть создана из ветки master ==== | ||
- | |||
- | Пример перехода на ветку master и создания + перехода в новую ветку Ivanov_Ivan_lr1 (Ubuntu): | ||
- | <code> | ||
- | git checkout master && git pull origin master | ||
- | git checkout -b Ivanov_Ivan_lr1 | ||
- | </code> | ||
- | |||
- | ==== Каждая лабораторная/курсовая/контрольная работа должна находиться в своей папке ==== | ||
- | |||
- | Пример создания папки (Ubuntu): | ||
- | <code> | ||
- | mkdir Ivanov_Ivan_lr1 | ||
- | </code> | ||
- | |||
- | ==== Добавление файлов на Github должно происходить с помощью консоли ==== | ||
- | |||
- | Пример добавления файлов, создания коммита и отправки коммитов на GitHub (Ubuntu): | ||
- | <code> | ||
- | git add Ivanov_Ivan_lr1/main.c | ||
- | git commit -m "Ivanov_Ivan_lr1: done" | ||
- | git push origin Ivanov_Ivan_lr1 | ||
- | </code> | ||
- | |||
- | |||
- | ==== В репозитории должен храниться только исходный код и отчёты к лабораторным ==== | ||