PGReliefは悪くない。けど役にも立たない。
http://d.hatena.ne.jp/minekoa/20100119/1263914704の話。
あれは最低線を底上げするもの。
PGReliefの指摘観点は公式サイトによると
- PGRelief 独自のノウハウでチェック
- SECコーディング作法ガイドの適合性チェック
- MISRA ルール適合性をチェック(オプション)
となっている。
で、富士通独自ノウハウはまあアレだし、SECコーディングガイドはC言語用だし、MISRAは「難しい機能を使わせない」という発想だし。基本的に、文法を理解していない人が行いがちな失敗を予防する、という程度のものだと思う。
でも、そういった用途ならgccの警告オプションを全開(-Werror -Wall -Wextra -Weffc++ --strict-ansi -pedantic)にした方が有用だ*1。gccやlintの警告なら意味にまで踏み込んだ判定ができるし、attributeやlintコメントによる指定もできる。
〆。
第一、MISRAは「〜はドキュメントに記載すること」といった項目の方が重要で、コーディング規約だけMISRA準拠というのはカーゴカルト疑惑が濃厚。
*1:さらに追加オプションを付けるならhttp://d.hatena.ne.jp/higepon/20080430/1209525546を参考に。