開発環境上でコーティングルール

マイコン:RL78, RX
開発環境:CS+, e2studio

下記のようなコーディングルール作成し、
開発環境とかに入れてコンパイラ時に警告とかを出すことはできるのでしょうか?
e2studioのコード識別で対応できそうなものはありますか?
MISRA-Cで対応できそうなものはありますか?


if文で右辺は必ず明記する。
書き忘れかどうか分からないから。
例えば、
if(textObj){
ではなく、
if(textObj == 1){

 ②
構造体や共用体の宣言その2
構造体や共用体の宣言でtypedefを使う場合は、
宣言名(タグ名)の語尾に _t を付ける。
例えば
/*宣言*/
  typedef struct{
        uint8_t    water;
        uint8_t    thunder;
        uint8_t    beast;
  }breath_t;
/*実体確保*/
  breatht    breath;

Parents
  • ega258さん
    ほや です。こんにちは。

    fujitaさん御指摘の通り、レビューを真面目にやった方が有益だと思います。
    所詮、機械にはプログラマの意図や勘違いは解らないので。

    MISRAについてはこの辺が参考になるかと。MISRAでも名前の付け方までは詮索しないと思いますが…
    組込みソフトウェア開発向け コーディング作法ガイド
    https://www.ipa.go.jp/sec/publish/tn18-004.html

    if(textObj == 1) については、もし if(0 != textObj) を意図しての事であればそう書いた方が安全だし分かり易いです。
    1に何か意味があるなら意味が推測できるシンボルを#defineして使うべきです。

Reply
  • ega258さん
    ほや です。こんにちは。

    fujitaさん御指摘の通り、レビューを真面目にやった方が有益だと思います。
    所詮、機械にはプログラマの意図や勘違いは解らないので。

    MISRAについてはこの辺が参考になるかと。MISRAでも名前の付け方までは詮索しないと思いますが…
    組込みソフトウェア開発向け コーディング作法ガイド
    https://www.ipa.go.jp/sec/publish/tn18-004.html

    if(textObj == 1) については、もし if(0 != textObj) を意図しての事であればそう書いた方が安全だし分かり易いです。
    1に何か意味があるなら意味が推測できるシンボルを#defineして使うべきです。

Children