Соглашение об именах в исходном коде биткойнов

Есть ли конкретная ссылка на соглашения об именах в исходном коде Bitcoin Core?
Я вижу закономерность в именовании классов с префиксом «C» (Chain, CInv и т. д.) или в именах указателей с «p» (pprev, pnode и т. д.), и мне интересно, есть ли в моем списке префиксы или другие соглашения.

Существует ли вообще соглашение об именах, специфичное для биткойнов?

Я не знаю, есть ли официальная ссылка, но второе, что вы описываете, это en.wikipedia.org/wiki/Hungarian_notation .
Биткойн-репозиторий также указывает свои соглашения здесь: github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md

Ответы (2)

http://en.wikipedia.org/wiki/Hungarian_notation

  • Cозначает класс
  • pдля указателя
  • fдля флага (логическое значение)
  • nдля номера
  • szдля строки с нулевым завершением

Эти соглашения больше не являются обязательными при внесении вклада в биткойн-ядро.

Вы также можете прочитать https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md .

Руководство по стилю для Bitcoin Core доступно на GitHub здесь . В нем больше не оговаривается соглашение об именах, но, как уже упоминал выше Ник Оделл , переменные обычно следуют форме венгерского именования приложений .

В прошлом руководство по стилю включало соглашение об именах , однако с тех пор оно было удалено, поскольку не всегда соблюдалось .