意識低い系ドットコム

漫画の感想、IT業界のよもやま話、古銭収集など、雑多な話題を意識低くお届けします

「MISRA-C」は組み込み系システム開発の業界で生き残るための必須知識?

 新卒でIT業界に飛び込んで早十数年。世間ではアプリ開発だのWeb開発だの華々しい世界が注目を浴びることが多いですが、僕はほぼ組込み系システム開発一本で食っています。C言語とアセンブリが切っても切れない親友です。

そんな僕ですが、最近「MISRA-C」というものが気になってます。 

 

IoTやAI、RPAなど、最先端技術のフリーランス案件を探すならココ!
Engineer-Route

 

 

MISRA-Cとは

MISRA-Cとは、組込み系ソフトウェア開発向けに、コーディング規約を標準化したものです。

 

Wikipediaから説明文を引用します。

MISRA-C - Wikipedia

MISRA CはMISRA (Motor Industry Software Reliability Association、ミスラ) が開発したC言語のためのソフトウェア設計標準規格である。ANSI/ISO/IEC規格のC言語で記述する組み込みシステムで、安全性と可搬性 (ポータビリティ、移植性) と信頼性を確保することを目的としている。

 

コーディングルールを組込み系向けに標準化することにより、バグを作りこみにくくしたり、移植性を高めようという狙いのようですね。確かにチームでシステム開発をしていますと、何かしらコーディングルールを決めておかないことには、みんながみんな好き勝手書いてたらわけわかんなくなっちゃいます。特にC言語は色々な書き方を許容している言語ということもあり、書く人によって癖が出やすいので。

どのレベルまでルールとして決めておくべきか、という問題はあるにしろ、コーディングルールを定めておく重要性には疑問をさしはさむ余地は少ないです。とはいえ、コーディングルールも、会社や開発チームによっていろいろな考え方や温度差があり、これまた多種多様なルールが氾濫しているわけでして。

いくつもの会社やプロジェクトを渡り歩いている人にとっては、場所が変るごとに新しいコーディングルールを覚えるというのもなかなかストレスのタネになってたりします。

そういう意味で言えば、汎用的なコーディングルールを決める取り組みであるMISRA-Cは現場の要望を汲み取ってくれているとも言えます。

 

ただ、MISRA-Cにはいろいろ異論や批判もあり、「そのルール本当に必要!?」と疑問視されている部分もあるようです。

srad.jp

 

万人が納得するルール作り、というのもなかなか難しいですね。

 

何故、MISRA-Cか?

さて、冒頭でも書いたように、僕はいまMISRA-Cが気になってて勉強しようと思っているわけですが、何故またMISRA-Cを勉強しようと思ったのか。

 

それは、愛知に本社を置く某大手自動車メーカー関連の仕事で、MISRA-Cを採用しているところが最近増えているらしいから、という理由です。

 

ブロガーがGoogle様の意向に逆らえないように、東海在住のエンジニアにとってはトヨ・・・某大手自動車メーカー様の意向に逆らうわけには行きません。おまんまの食い上げになってしまいますので。

東京や関西のほうの事情には疎いですが、少なくとも東海地区で今後も組込み系エンジニアとして食っていこうと思ったら、MISRA-Cは勉強しておいても損はないのかな、と。

 

 

 

おすすめ記事

www.ishikihikui-kei.com

www.ishikihikui-kei.com

www.ishikihikui-kei.com