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





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

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. При сдаче задачи в ejudge проводится автоматическая проверка на соответствие программы PEP8.
  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 < n; ++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 &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