C++で参考になるコーディング規約は?主な規約やポイント

さまざまな分野で使われている『C++』で統一性のあるコードを書くためには、コーディング規約を守ることが大切です。代表的な規約の種類や、コーディングのポイントについて解説します。紹介する内容を参考に、C++のコードを見やすく書きましょう。

【2022年最新】 Offersで人気の副業・業務委託案件・求人!
  • 【1位】音楽アプリnanaのAndroidアプリ開発メンバーを募集
    全世界で1,000万人が利用するグローバルサービス!副業(10時間/週~)からOK!
  • 【2位】【副業OK】月間数億アクセスのサービスを加速させるSDKエンジニア
    インターネットの安全を提供するインフラを創る、サイバーセキュリティのスタートアップ
  • 【3位】 Kotlin Androidエンジニアを募集│大規模トラフィックのサービス
    1週間で50万DLを達成、時給5,000円~7,000円/業務委託・リモートOK!
  • 今すぐ副業求人・案件を探す!

    主なC++のコーディング規約

    高速な処理が得意なC++には、複数のコーディング規約があります。それぞれ、どのような特徴があるのでしょうか? 代表的な規約とその特徴を紹介します。

    Google C++ スタイルガイド

    『C++』は「Java」「Python」と並ぶGoogle三大言語の一つです。そのため、Googleでコーディング規約を作成しています。バグが発生しにくく、読みやすくメンテナンスのしやすいコードを作るためのルールです。

    基本的に、読みやすいことを重視した規約となっています。メンテナンスが実行しやすいことに重点が置かれているのです。

    そのため、既存のコードや他のC++を使ったシステムと一貫性があることや、見慣れない構成や危険性のある構成を避けることが定められています。

    Google C++ スタイルガイド(日本語全訳) Google C++ Style Guide (Japanese)

    WebKit Code Style Guidelines

    エンジニアによって書かれたコードは、『WebKit』という技術を用いて画面に映し出されます。このシステムを作るのにもC++は使われているのです。

    そのため、WebKitに関係するシステムを作る際に準拠すべき、C++のコーディング規約が設けられています。

    この規約の特徴は、書きやすさを重視していることです。厳格なルールを定めるのではなく、書き手の作業しやすさを考慮した内容になっています。

    書き方の特徴としては、条件分岐を指定するswitch文でcase文を同列に書く、という点が特徴的です。

    『WebKit Coding Style Guidelines | WebKit』日本語訳サイト

    IPA 組込みソフトウェア開発向けコーディング作法ガイド

    C++のコードをより読みやすく高品質に仕上げるためのルールを定めている書籍が『IPA 組込みソフトウェア開発向けコーディング作法ガイド』です。

    紹介されている注意点やノウハウを実践することで、きれいに整ったコードを作成できます。家電のような、特定の機能に特化した製品のソフトウェア作成で役立つルールを定めているのが特徴です。

    バージョン変更による新技術に対応したルールも定められています。

    • タイトル:SEC BOOKS 【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C++言語版]Ver. 2.0(ESCR C++ Ver. 2.0)
    • 価格:1389円(税抜)
    • 公式:商品ページ

    コーディング時の基本ポイント

    コードを書くときにはポイントを押さえておくと効果的です。書き始める前に重要なポイントをチェックして、スムーズに作成しましょう。

    優先する規約

    まずチェックすべきなのは、どの規約を優先すべきかが大切です。プロジェクトごとにコーディング規約が設定されていれば、それを最優先にしてコードを書く必要があります。

    もしも、特別な指定がない場合には、代表的な規約のうちどれに準拠すべきか確認すると確実でしょう。

    従うべきルールがはっきりしたら、必ずそれに沿って書き進めることも重要です。自分の書き方と違う部分があっても、必ず規約を優先させるというのが大前提とされます。

    「これはいらないのでは?」と感じるルールがあっても、勝手に無視したり違うルールに則った書き方にしたりすることは禁じられているケースが大半です。規約自体に疑問点があるなら、上司や担当者に相談します。

    自己判断しない

    コードを書くときには、自分でサイズや要素などを指定しないことも大切です。自己判断せず、プログラムに実行させるコードにすることで、間違いがなく分かりやすい内容になります。

    sizeof演算子や elementsofマクロなどを活用しましょう。

    自分で計算した数値をベタ書きでコードに入れてしまうと、他のエンジニアにとっては何の数字か分かりません。何を意味しているのか、後から見た人にも分かるようにすることが大切です。

    初期化について

    初期化リストの書き方にも注意しましょう。基本ルールは、宣言順に並べることです。処理が宣言順に行われるため、初期化リストも宣言順にする方が分かりやすくなります。

    基底クラスの初期化も必ず明記しましょう。リストに書かなくても初期化されるので、動作で考えるなら、書く必要はありません。しかし、コードの分かりやすさで考えるなら、明記しましょう。

    また、初期化リストで初期化しないものがある場合には、理由をコメントとして残します。

    規約に準拠しているかチェックしよう

    コードを書いたら、必ず規約通りに書けているかチェックしましょう。ただし、目視では膨大な手間がかかります。

    そこで活用したいのがさまざまなチェックツールです。効率的なチェックに生かしましょう。

    Visual Studioのコード分析を利用

    規約に沿ったコードになっているか確認するのに、『Visual Studio』のコード分析機能が利用できます。目で見るだけでは見つけきれない誤りをスピーディーに検出するのです。

    単に規約違反を指摘するだけでなく、修正方法についてヒントを提示してくれます。参考にすれば、修正作業もスムーズにできるでしょう。

    分析機能を使うことで、違反のチェックと修正の効率が高まります。

    出典:マネージド コードのコード分析 - Visual Studio | Microsoft Docs

    チェックツールの利用

    さまざまな規約に対応しているチェックツールを使って、コードを確認するのも有効的な方法です。専用のチェックツールなら、見やすさの点でも優れています。

    コードを見ながら違反の箇所を確認したり修正したりできるのです。また、修正に役立つ情報のレポートや、サンプルコードの表示もあるため、スムーズに作業を進められます。

    サポートを受けながら的確に誤りを修正できるため、メンテナンスしながら長く使い続けられるコードを作成できるでしょう。

    参考:コーディング規約チェック | 静的解析・単体テストツール C++test | テクマトリックス株式会社

    まとめ

    C++のコーディング規約には『Google C++ スタイルガイド』や『WebKit Code Style Guidelines』などがあります。これらのルールを参考に、読みやすくメンテナンスしやすいコード作成を意識することが大切です。。

    規約に従うときには、どの規約を優先すべきかはっきりさせること・自己判断で規約を変えないことを心がけ、チェックツールも活用しながら、確実にスピーディーにコードを書きましょう。

    Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

    いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

    本業では経験できない、新しい環境/開発スタイルを経験しよう!



    この記事をシェア

    関連記事


    副業・フリーランス

    プログラミング

    インタビュー

    医療・介護系SaaSの開発組織をOffersで構築へ!エピグノが実践する業務委託の採用手法とは?

    医療・介護機関向け人材マネジメント領域において、「エピタルHR」「エピタク」「エピオペ」という3プロダクトを展開する株式会社エピグノ。2021年に資金調達を行い、同領域におけるデジタルトランスフ...

    3回の面談を経てTech Leadを採用!タレントプールとしてOffersを活用するサイカの採用術

    データサイエンスを駆使したマーケティングソリューションを提供するサイカ。2020年に「モノづくりビジョン」を定義し、時代や社会にインパクトを与えるプロダクトを生み出すべく、開発組織の構築を進めて...

    MLエンジニアを2名採用。1年間ずっと出会えなかった層にOffersですぐ出会えました

    SO Technologiesは広告会社支援SaaS「ATOM」や店舗集客支援サービス「ライクル」、ネット広告仕入・提案・ 運用支援サービス「AG Boost」、Webマーケティングのノウハウメ...

    『実践TypeScript』の著者・吉井健文が考えるTypeScriptの魅力と可能性

    世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことをマニ...

    デザイン

    お金

    採用・組織