Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Безгодков_ВКР.doc
Скачиваний:
52
Добавлен:
26.03.2015
Размер:
21.47 Mб
Скачать

1.4.2.1 Стандарт кодирования для языка Python

Для языка Python принято использовать стандарт кодирования PEP8 [19].

  1. Форматирование:

  • использовать 4 пробела для отступа, не использовать табуляцию;

  • максимальная длина строки 79 символов; для разрыва строки использовать отступы или символ «\»;

  • функции верхнего уровня и определения классов отделять двумя пустыми строками;

  • определения методов внутри класса отделять одной пустой строкой;

  • использовать дополнительные пустые строки для логической группировки методов;

  • кодировка файлов должна быть UTF-8;

  • каждый импортируемый модуль должен начинаться с новой строки;

  • порядок импортов: стандартные модули, сторонние модули, локальные модули приложения;

  • пустая строка между каждой группой импортов;

  • избегать лишних пробелов внутри скобок; перед запятыми, точкой с запятой и двоеточиями;

  • избегать лишних пробелов перед скобками с аргументами функций и скобками с индексами;

  • избегать больше чем одного пробела между операторами (= - + и т. д.);

  • использовать одиночный пробел для выделения операторов;

  • избегать пробелов вокруг '=', который используется для параметров по-умолчанию и keyword-аргументов;

  • обновлять комментарии вместе с кодом;

  • комментарии должны быть на английском языке или транслитерацией;

  1. Соглашение по именованию:

  • избегать имён из одиночных l, O, I;

  • для модулей и пакетов использовать короткие имена, все символы которых — строчные буквы;

  • для имён классов первая буква каждого значимого слова должна быть заглавной;

  • для функций использовать либо имена из строчных букв, разделяя значимые слова подчёркиваниями, либо используя смешанный регистр (значимые слова слитно; первая буква каждого слова, начиная со второго — заглавная);

  • для методов используйте имена из строчных букв, разделяя значимые слова подчёркиваниями;

  • для внутренних методов и переменных добавляется подчёркивание в начале имени;

  1. Стиль кодирования:

  • для проверки на Noneиспользоватьisилиis not, не использовать операторы сравнения;

  • использовать исключения основанные на классах, т.е. наследованные от Exception;

  • использовать методы класса stringвместо строковых функций;

  • использовать ''.startswith()и ''.endswith()вместо вырезки из строк для проверки префиксов и суффиксов;

  • использовать isinstance()для проверки типа;

  • не сравнивать булевы переменные с TrueиFalse.

1.4.2.2 Стандарт кодирования для языка php

Для языка PHP принято использовать стандарты компании Zend [20].

  1. Форматирование:

  • для файлов, содержащих только PHP-код, закрывающийся тег ("?>") не разрешен;

  • для отступа использовать 4 пробела. Не использовать символ табуляции;

  • рекомендуемая максимальная длина строки: 80 символов; предельная — 120 символов;

  • перевод строки только символом перевода строки (LF), как принято в UNIX-системах;

  1. Соглашение по именованию:

  • имена классов и интерфейсов состоят из значимых слов, начинающихся с заглавных букв и разделённых подчёркиваниями; использование чисел не рекомендуется;

  • для имён файлов допустимы буквенно-числовые символы, символы нижнего подчеркивания и дефис;

  • в именах функций и переменных значимые слова идут слитно; первая буква каждого слова, начиная со второго — заглавная (т.н. «верблюжья» нотация);

  • имена методов доступа должны иметь префиксы getилиset;

  • для переменных - членов классов, определенных с помощью префиксов области видимости "private" или "protected", первым символом имени должно быть подчеркивание;

  • имена функций должны быть настолько говорящими, насколько это практично;

  • короткие имена переменных, такие как "$i" и "$n" не приветствуются нигде, кроме как в контексте маленьких циклов (не более 20 строк кода);

  • имена констант должны быть в верхнем регистре, возможно использование подчёркивания.

  1. Стиль кодирования:

  • использование короткого начального тега «<?» недопустимо;

  • когда строка не содержит подстановок переменных и апострофов, для её обрамления должны использоваться апострофы;

  • конкатенация строк осуществляется с помощью символа «.» и пробелов вокруг него;

  • отрицательные числа в качестве индексов массивов запрещены;

  • при описании ассоциативных массивов необходимо помещать каждую пару «ключ => значение» на отдельной строке с выровненными ключами и значениями;

  • классы должны определяться по следующей схеме:

  • фигурная скобка всегда пишется на следующей строке под именем класса;

  • каждый класс должен иметь блок документации (doc-блок) в соответствии со стандартом PHPDocumentor;

  • код внутри класса должен иметь отступ в четыре пробела;

  • только один класс разрешен внутри одного PHP-файла;

  • размещение дополнительно кода в файле с классом разрешено, но не приветствуется. В таких файлах, две пустые строки должны разделять класс и дополнительный PHP-код;

  • любые переменные, определенные в классе, должны быть определены в начале класса, до определения любого метода;

  • ключевое слово varне разрешено. Члены и методы класса должны всегда определять их область видимости, используя ключевое словоprivate,protectedилиpublic. Доступ к переменным-членам класса напрямую используя префиксpublicразрешено, но не приветствуется в пользу методов доступа (set/get).

  • при описании функции, открывающая фигурная скобка пишется на следующей строке под именем функции;

  • пробелы между именем функции и круглой скобкой для аргументов отсутствуют;

  • передача по ссылке допустима только в определениях функций, но не во время вызова;

  • управляющие структуры, основанные на конструкциях if,else,elseif и switch должны иметь один пробел до открывающей круглой скобки условия, и один пробел после закрывающей круглой скобки. Открывающаяся фигурная скобка пишется на той же строке, что и условие. Закрывающаяся фигурная скобка пишется на отдельной строке. Все содержимое между скобками пишется с отступом в четыре пробела. Фигурные скобки должны ставиться в любом случае;

  • при применении конструкции switch, case-выражения, не содержащие break или return, должны содержать комментарий "// break intentionally omitted".