【Solidity】公式ガイドラインのSolidity命名規則を解説

Solidityロゴ

プログラミングコードを書く際のメソッドや変数の名前は、リーダビリティ(可読性)を向上させるためにも非常に大切です。

そのため、それぞれのプログラミング言語には命名規則のガイドラインがあることも多く、言語によって多少の違いがあります。

そこで、今回はSolidityの公式ドキュメントに記載されている命名規則について解説していきたいと思います。

本記事は、Solidity公式ドキュメントに記載されているものを参考に執筆しています。

先に述べておきますが、1つ注意点としては、ここに記載してある命名規則が正解でルールではないということです。

どちらかというとより良いコードのためのガイドライン的な役割として捉え、プロジェクト内での一貫性を保つ方が大切になりますので、その点はご留意ください。

目次

命名スタイル5つ

名前

まずは、命名する際のパターンを紹介しておきます。

命名スタイル5つ
  1. lowercase
  2. UPPERCASE
  3. UPPER_CASE_WITH_UNDERSCORES
  4. CapitalizedWords
  5. mixedCase

それぞれのケースを軽く以下で解説します。

lowercase

ローワーケースと呼ばれ、全て小文字で命名するパターンです。

UPPERCASE

アッパーケースと呼ばれ、全て大文字で命名するパターンです。

UPPER_CASE_WITH_UNDERSCORES

アッパーケース・ウィズ・アンダースコアといい、全て大文字かつ単語間はアンダースコアで繋げて命名パターンです。

トマトソース

一般的には「スネークケース」と呼ばれます。(スネークケースは大文字でなくても構いません)

CapitalizedWords

キャピタライズ・ワーズといい、単語の頭文字を大文字にして命名するパターンです。

トマトソース

一般的には「パスカルケース」と呼ばれています。

mixedCase

ミックスド・ケースといい、2つ目以降の単語の頭文字を大文字にして命名するパターンです。

トマトソース

一般的には「キャメルケース」と呼ばれています。

以上5つの命名パターンを使って、どのように命名するのがガイドラインとして薦められているのかを以下で解説していきます。

以下では、上記のパターンをもとに解説していきます。

各要素の命名ガイドライン

ガイドライン

以下で、functionやstructなど各要素ごとでの命名規則についてご紹介していきます。

ContractとLibrary

ContractやLibraryの命名はCapWordsで行うようにします。

例:SmartBank, CertificateHashRepository, Player, Congress, Owned など

また、ContractやLibrary名はファイル名と一致するようにします。

struct

structを定義する際はCapWordsで記述するようにします。

例:MyStruct, Position など

Event

eventsの定義の場合もCapWordsを使って命名するようにします。

例:Deposit, Transfer, BeforeTransfer, AfterTransfer など

function(関数)

関数の命名はmixedCaseで行うのが良いようです。

例:getBalance, transfer, verifyOwner など

関数引数(function arguments)

関数の引数の命名も関数と同じくmixedCaseで行うようにします。

例:initialSupply, account, newOwner など

ローカル・ステート変数

ローカル変数やステート変数もmixedCaseで命名するのが良いようです。

例:totalSupply, remainingSupply, balancesOf, isPreSale など

定数(constant)

定数の名前は全て大文字で、単語同士は「_(アンダースコア)」で繋げて記述します。

例:MAX_BLOCKS, TOKEN_NAME, TOKEN_TICKER, CONTRACT_VERSION など

modifier

modifierの命名にはmixedCaseを使うようにします。

例:onlyOwner, onlyAfter, onlyDuringThePreSale など

enum

enumの命名は、CapWordsを使うことが推奨されています。

例:TokenGroup, Frame, HashStyle, CharacterLocation など

まとめ:公式ガイドラインのSolidity命名規則を解説

今回は、Solidity公式ドキュメントに記載されている命名規則ガイドラインについて解説しました。

一通り見て感じられたと思いますが、特にSolidity特有の規則などはなく他のプログラミング言語とさほど変わらない印象かと思います。

なので、他の言語に親しみのある方は特に意識せずとも命名規則に沿ったネーミングができるかと思います。

良いSolidityコードを書くために少しでもこの記事が役に立てば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次