Сравнение версий Информатика / Правила Написания Программ
|
|
Следующая правка →
|
| Version1 | Version2 | Differences |
|---|---|---|
| 4 | 4 | cpplint.py --filter=-legal,-readability/streams,-build/namespaces,-whitespace/braces,-whitespace/newline,-whitespace/line_length,-runtime/int,-runtime/threadsafe_fn,-readability/casting,-build/include_what_you_use,-runtime/arrays,-runtime/explicit,-build/include,-readability/fn_size,-runtime/printf,-whitespace/comments,-runtime/references,-readability/braces |
| 5 | 5 | %% |
| 6 | 6 | |
| 7 | Для Python используется утилита ((https://github.com/jcrocholl/pep8 pep8.py)) с ключами | |
| 8 | %% | |
| 9 | pep8.py -r --show-source --ignore=W391,E251,E501,W292,W291,W293 | |
| 10 | %% | |
| 11 | ||
| 7 | Для Python используется утилита ((https://github.com/ShashkovS/flake8_ejudge flake8_ejudge)) | |
| 8 | ||
| 9 | Очень полное и подробное описание требований к коду на C++ содержится в ((https://tproger.ru/translations/stanford-cpp-style-guide/ руководстве по оформлению кода на С++ от Стэнфордского университета)) | |
| 12 | 10 | |
| 13 | 11 | ===Python=== |
| 14 |
Помимо сформулированных ниже правил, программы должны соответствовать документу ((http://www.python.org/dev/peps/pep-0008/ PEP8: Style Guide for Python Code)) из официальной документации языка Python |
|
| 12 | Помимо сформулированных ниже правил, программы должны соответствовать документу ((http://www.python.org/dev/peps/pep-0008/ PEP8: Style Guide for Python Code)) из официальной документации языка Python (возможны отступления в части некоторых правил). | |
| 15 | 13 | |
| 16 | 14 | ====Символы и отступы=== |
| 17 | 15 | Величина отступа - четыре пробела. Использование символа табуляции (символа, с кодом 9) запрещается. |
| … | … | … |
| 164 | 162 | |
| 165 | 163 | =====for==== |
| 166 | 164 | %%(java) |
| 167 |
for (int i = 0; i |
|
| 165 | for (int i = 0; i < n; ++i) | |
| 168 | 166 | { |
| 169 | 167 | statements... |
| 170 | 168 | } |
| … | … | … |
| 196 | 194 | ====Ввод-вывод=== |
| 197 | 195 | Все сообщения об ошибках, предупреждения, отладочные сообщения и прочая диагностическая информация, не являющаяся результатом работы программы в предположении корректных входных данных, должна выводиться на стандартный поток ошибок stderr, то есть примерно так: |
| 198 | 196 | |
| 199 |
%%(java)cerr |
|
| 197 | %%(java)cerr << "Неверные входные данные" << endl;%% | |
| 200 | 198 | |
| 201 | 199 | При выводе результата работы на стандартный поток вывода или в текстовый файл вывод должен заканчиваться символом перехода на новую строку. Исключением являются программы, выполняющие посимвольную обработку потока данных. |
| 202 | 200 | |
| 201 | ====Комментарии==== | |
| 202 | ||
| 203 | Комментарии в программах нужны для пояснения работы кода. Недопустимо использование комментариев для других целей, например, для удаления ненужного кода или для ASCII-арта. | |
| 204 | ||
| 205 | ====#define==== | |
| 206 | ||
| 207 | Никакие #define не нужны. Для определения констант нужно использовать const, вместо макросов нужно использовать функции, #define int long long не нужно вообще. | |
| 208 | ||
| 209 | ====typedef==== | |
| 210 | ||
| 211 | typedef скорее всего не нужны ни в каком виде. Нельзя переопределять стандартные типы при помощи typedef, а больше ни для чего typedef не нужен. | |
| 212 | ||
| 213 |