こんにちは、ツヨシです。
私は仕事で車関係のソフトウェアを開発しているのですが、最近はソースコードを書く時間より周りの人のサポートや仕様調整などばかりです。自分的にはソースコードを書いている方が楽なんですが、そんなわけにもいかないようです。
開発だけでなくプロセス関連のソフトウェアアーキのグループなんかに属しているのですが、その中でソースコードの品質について改善できないかなんて議題を題して見たら、コード規約をきちんと講義しましょうみたいな流れになりました。
他人事で発言したんですが、いつの間にか自分もやる事になり自社の規約の確認なんかをやっています。
自動車業界のコーディング規約のMISRA
自動車業界ではコーディング規約としてはMISRAが一般的かと思います。
開発の際にMISRAに対応しているかはツールで検証してそれによって吐き出されたログを見つつ修正をしています。修正箇所などはツールで分かるのですがどう修正するかはちょっと調べないといけません。また、エラーとなったソースコードがダメな理由などの背景は正直全て把握しているわけではありません。
リーダブルコードを読む
そういった背景から良いコードとはと考えるようになり、ふと本棚にあったこの本を手に取りました。
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者:Dustin Boswell,Trevor Foucher
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)
「リーダブルコード」はソフトウェアエンジニアにとってバイブル的な物ですね。これを知らないなら潜りと言われるくらいです。一度は読んだことはあるのですが、なんとなく読んだだけで、実践していたのかは定かではないです。
なので、もう一度きちんと読み込み、自分なりにまとめブログに書いていきたいと思いました。ついでに、MISRAや自社の規約と比較して見てどういう点が共通なのかを考えていきたいと思います。
とりあえず、目次です。
はじめに
- 1章 理解しやすいコード
第一部 表面上の改善
- 2章 名前に情報を詰め込む
- 3章 誤解されない名前
- 4章 美しさ
- 5章 コメントすべきを知る
- 6章 コメントは正確で簡潔に
第二部 ループとロジックの単純化
- 7章 制御フローを読みやすくする
- 8章 巨大な式を分割する
- 9章 変数と読みやすさ
第三部 コードの再構成
- 10章 無関係の下位問題を抽出する
- 11章 一度に1つのことを
- 12章 コードに想いを込める
- 13章 短いコードを書く
第四部 選抜テーマ
- 14章 テストと読みやすさ
- 15章 「分/時間カウンタ」を設計実装する
少しづつですが1章、1章進めていきたいと思います。
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
- 作者:Dustin Boswell,Trevor Foucher
- 発売日: 2012/06/23
- メディア: 単行本(ソフトカバー)