|
|
| Line 1: |
Line 1: |
| '''Русский''' [[Qt Coding Style|English]] [[Qt Coding Style Spanish|Spanish]] [[Qt-Coding-Style-SimplifiedChinese|简体中文]]
| |
|
| |
|
| =Правила кодирования с использованием Qt=
| |
|
| |
| Ниже представлен обзор соглашений по написанию кода с использованием Qt. Эта информация была собрана здесь из разных источников: документации по Qt, тематических формуов, e-mail списков рассылки и опыта различных разработчиков.
| |
|
| |
| ==Отступы==
| |
|
| |
| * Для обозначения отступа используйте 4 пробела подряд
| |
| * Используйте проблелы, а не табуляцию!
| |
|
| |
| ==Объявление переменных==
| |
|
| |
| * Объявляйте по одной переменной в строке.
| |
| * Избегайте, если это возможно, коротких и запутанных названий переменных (Например: “a”, “rbarr”, “nughdeget”).
| |
| * Односимвольные имена переменных подходят только для итераторов циклов, небольшого локального контекста и временных переменных. В остальных случаях имя переменной должно отражать ее назначение.
| |
| * Заводите переменные только по мере необходимости.
| |
|
| |
| * Функции и переменные должны именоваться с прописной буквы, а если имя переменной или функции состоит из нескольких слов, то первое слово должно начинаться с прописной буквы, остальные – со строчных.
| |
|
| |
| * Избегайте аббревиатур
| |
|
| |
| * Имена классов всегда начинаются с заглавной буквы. Public-классы начинаются с буквы ‘Q’ (QRgb). Public-функции должны начинаться с прописной буквы ‘q’ (qRgb).
| |
|
| |
| ==Пробелы==
| |
|
| |
| * Используйте пустые строки для логической группировки операторов, где это возможно.
| |
| * Всегда используйте одну пустую строку в качестве разделителя
| |
| * Всегда используйте один пробел перед фигурной скобкой
| |
|
| |
| * Всегда ставьте один пробел после ‘*’ или ‘&’, если они стоят перед описанием типов. Но никогда не ставьте пробелы после ‘*’ или ‘&’ и именем переменной.
| |
|
| |
| * Бинарные операции отделяются пробелами с 2-х строн.
| |
| * После преобразования типов не ставьте пробелов.
| |
| * Избегайте проеобразования типов в стиле C.
| |
|
| |
| ==Фигурные скобки==
| |
|
| |
| * Возьмите за основу расстановку открывающих фигурных скобок на одной строке с выражением, которому они предшествуют
| |
|
| |
| * Исключение: Тело функции и описание класса всегда открывается фигурной скобкой, стоящей на новой строке
| |
|
| |
| * Используйте фигурные скобки в условиях, если тело условия в размере превышает одну линию, или тело условия достаточное сложное и выделение скобками действительно необходимо
| |
|
| |
| * Исключение 1: Используйте скобки, если родительское выражение состоит из нескольких строк / оберток
| |
|
| |
| * Исключение 2: Используйте фигурные скобки, когда тела ветвлений if-then-else занимают несколько строчек
| |
|
| |
| * Используйте фигурные скобки для обозначения пустого тела условия
| |
|
| |
| ==Круглые скобки==
| |
|
| |
| * Используйте круглые скобки для группировки выражений:
| |
|
| |
| ==Использование конструкции switch==
| |
|
| |
| * Операторы case должны быть в одном столбце со switch
| |
| * Каждый оператор case должен иметь закрывающий break (или return) или комментарий, котрой предполагает намеренное отсутсвие break & return.
| |
|
| |
| ==Разрыв строк==
| |
|
| |
| * Длина строки кода не должна превышать 100 символов. Если надо – используйте разрыв строки.
| |
|
| |
| * Запятые помещаются в конец разорванной линии; операторы помещаются в начало новой строки. В зависимости от используемой вами <span class="caps">IDE</span>, оператор на конце разорванной строки можно проглядеть.
| |
|
| |
| ==Наследование и ключево слово `virtual`==
| |
|
| |
| * При переопредлении virtual-метода, ''ни за что'' не помещайте слово `virtual` в заголовочный файл.
| |
|
| |
| ==Главное исключение==
| |
|
| |
| * Не бойтесь нарушать описанные выше правила, если вам кажется, что они только запутают ваш код.
| |
|
| |
| ===Categories:===
| |
|
| |
| * [[:Category:Developing with Qt|Developing_with_Qt]]
| |
| * [[:Category:Qt пÑогÑаммиÑование|Qt_программирование]]
| |