2016/11/27

[c/c++]Cクイックリファレンス第2版

オライリーの、Cクイックリファレンス第2版を買ってきた。
2016年11月に出たばかりだ。

O'Reilly Japan - Cクイックリファレンス 第2版

C11準拠ということで、私の知らないことがいろいろ出ているのだろう。
まあ、使うときになら無いと読まないような気がするのだが、もしマルチスレッド処理が標準で書けるのならば「RTOS採用するほどのことでもないしなぁ。でも後から使った方が良くなるかも」と迷ったときに、労力が少ないから最初からマルチスレッドで書いておこう、という選択肢が出てくるかもしれない。

 

さて、まえがきのコラム欄に、日本語版だけだと思うがコーディング規約ESCRのことが書かれていた。
ESCRが何なのか知らなかったが、Embedded System development Coding Referenceの略で、IPAが出している資料にもあるやつだった。

「【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C言語版]Ver.2.0(ESCR Ver.2.0)」PDF版と付録データの公開:IPA 独立行政法人 情報処理推進機構

私も、いくつかこれを読んだときの記事を書いている。
検索して3つ出てきたが、たぶんまだあるだろう。

 

このESCRだが、PDFでダウンロードできるものを読んだ範囲では、pythonのPIP-8とはちょっと違う。
「コーディングスタイル」ではなく「コーディング規約」なので、インデントはどうの、改行はどうの、というようなルールは書いていない。
保守性4で「統一した書き方にする」という決まりを作っているだけで、どう書くべきかというところには踏み込んでいない。

まあ、C言語の人にそういうのを強要すると、嫌がるよねぇ。
私も嫌だ。
本のコラム欄では、astyleなどの自動整形ツールに任せると効率がよい、とあり、私も賛成だ。

ただ、期待するastyleのオプションを決めるのは、なかなか難しい。
私は最近、タブをスペースで書くようになってきたので、こうしている。

--style=k/r --indent=spaces=4 -j

正解はないので、自分のプロジェクトなら自分のスタイルに、他のプロジェクトに参加するならそのスタイルにしていくことになるだろう。

 

これがテキストエディタと連携して動的に表示されると書いている間に修正するだろうけど、書いているリズムが狂ってしまうので嫌かもしれない。
難しいねぇ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。