Правила кодирования в Qt

640px-qt_logo_2016-svg

При использовании Qt я предпочитаю использовать стиль кодирования, который используется в библиотеке, чтобы добиться единообразия кода.

Директивы препроцессора

Символ решетки всегда в начале строки, а имя директивы с отступом.

Пример из файла Qt5.9.0/5.9/gcc_64/include/QtCore/qobjectdefs.h.

# if defined(QT_NO_KEYWORDS)
#  define QT_NO_EMIT
# else
#   ifndef QT_NO_SIGNALS_SLOTS_KEYWORDS
#     define slots Q_SLOTS
#     define signals Q_SIGNALS
#   endif
# endif

Ссылки и указатели

Операторы & и * в обозначении типа смещены вправо и примыкают к имени.

Пример из файла Qt5.9.0/5.9/gcc_64/include/QtCore/qbytearray.h.

class Q_CORE_EXPORT QByteArray
{
    <...>
    QByteArray &prepend(char c);
    QByteArray &prepend(int count, char c);
    QByteArray &prepend(const char *s);
    QByteArray &prepend(const char *s, int len);
    QByteArray &prepend(const QByteArray &a);
    QByteArray &append(char c);
    QByteArray &append(int count, char c);
    QByteArray &append(const char *s);
    QByteArray &append(const char *s, int len);
    QByteArray &append(const QByteArray &a);
    <...>
}

Приватные поля

В имени приватного поля используется префикс m_.

Пример из файла Qt5.9.0/5.9/gcc_64/include/QtCore/qstring.h.

class QLatin1String
{
public:
    <...>
private:
    int m_size;
    const char *m_data;
};

Ссылки

О других правилах кодирования можно узнать по следующим ссылкам.

Реклама

Подсветка кода с помощью Markdown в Gitlab и на Github

В файле README.md можно разместить код с подсветкой синтаксиса.

Делается это с помощью обратных кавычек (`).

Код внутри строк можно выделить если с двух сторон поставить по одной обратной кавычки. Пример: `код`.

Многострочный код выделяется тремя обратными кавычками с каждой стороны:

```
function test() {
    console.log("notice the blank line before this function?");
}
```

Подсветку синтаксиса можно добавить если указать язык программирования.

```javascript
function test() {
    console.log("notice the blank line before this function?");
}
```

Наглядные примеры с подсветкой синтаксиса можно увидеть по ссылкам ниже.

Ссылки

Анализ данных по протоколу ASTERIX в Wireshark

Протокол ASTERIX служит для передачи радиолокационной информации.

Бесплатная программа для анализа сетевого трафика Wireshark умеет работать с этим протоколом.

Протокол ASTERIX не обладает никакими признаками, по которым его можно было бы распознать в потоке данных, поэтому по умолчанию Wireshark отображает данные как набор байт.Анализ данных по протоколу ASTERIX в WiresharkПрограмму нужно научить ассоциировать данные с протоколом ASTERIX. Для этого нужно вызвать  выпадающее меню на пакете и выбрать пункт Decode As….Анализ данных по протоколу ASTERIX в Wireshark. Decode AsВ колонке Current нужно выбрать протокол ASTERIX.

Анализ данных по протоколу ASTERIX в Wireshark. Decode As Asterix

После настройки можно увидеть разбор данных.Анализ данных по протоколу ASTERIX в Wireshark

Ссылки