主な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』などがあります。これらのルールを参考に、読みやすくメンテナンスしやすいコード作成を意識することが大切です。。
規約に従うときには、どの規約を優先すべきかはっきりさせること・自己判断で規約を変えないことを心がけ、チェックツールも活用しながら、確実にスピーディーにコードを書きましょう。