Сравнение версий Информатика / Правила Написания Программ





Следующая правка →

Version1 Version2
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 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)) с ключами 7 Для Python используется утилита ((https://github.com/ShashkovS/flake8_ejudge flake8_ejudge))
8 %% 8
9 pep8.py -r --show-source --ignore=W391,E251,E501,W292,W291,W293 9 Очень полное и подробное описание требований к коду на C++ содержится в ((https://tproger.ru/translations/stanford-cpp-style-guide/ руководстве по оформлению кода на С++ от Стэнфордского университета))
10 %%    
11    
12 10
13 ===Python=== 11 ===Python===
14 Помимо сформулированных ниже правил, программы должны соответствовать документу ((http://www.python.org/dev/peps/pep-0008/ PEP8: Style Guide for Python Code)) из официальной документации языка Python. При сдаче задачи в ejudge проводится автоматическая проверка на соответствие программы PEP8. 12 Помимо сформулированных ниже правил, программы должны соответствовать документу ((http://www.python.org/dev/peps/pep-0008/ PEP8: Style Guide for Python Code)) из официальной документации языка Python (возможны отступления в части некоторых правил).
15 13
16 ====Символы и отступы=== 14 ====Символы и отступы===
17 Величина отступа - четыре пробела. Использование символа табуляции (символа, с кодом 9) запрещается. 15 Величина отступа - четыре пробела. Использование символа табуляции (символа, с кодом 9) запрещается.
… … … …
164 162
165 =====for==== 163 =====for====
166 %%(java) 164 %%(java)
167 for (int i = 0; i &lt; n; ++i) 165 for (int i = 0; i < n; ++i)
168 { 166 {
169     statements... 167     statements...
170 } 168 }
… … … …
196 ====Ввод-вывод=== 194 ====Ввод-вывод===
197 Все сообщения об ошибках, предупреждения, отладочные сообщения и прочая диагностическая информация, не являющаяся результатом работы программы в предположении корректных входных данных, должна выводиться на стандартный поток ошибок stderr, то есть примерно так: 195 Все сообщения об ошибках, предупреждения, отладочные сообщения и прочая диагностическая информация, не являющаяся результатом работы программы в предположении корректных входных данных, должна выводиться на стандартный поток ошибок stderr, то есть примерно так:
198 196
199 %%(java)cerr &lt;&lt; "Неверные входные данные" &lt;&lt; endl;%% 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