Code As Designを支える二つの機能

gccの開発環境を探してみた。結論:EclipseのCDTはかなり良い。

僕は、C++では「リアルタイム静的エラーチェック」(ていうのかな?ようするに、コード入力時に静的エラーチェックを行うこと)は無理なのかとあきらめていた。しかし、CDTではその機能が実装されている。そして、信じられないことに、ちゃんと実用レベルで動作する。

この機能があれば、抽象度の高い部分のコーディングによって、より抽象度の低い実装部分のモデリングを行うことができる。また、ソースコードをいじりながら、理想的な設計を追求することができる。こうしたプログラミングが、僕にとっての「Code As Design」だ。これは、僕の生産性を飛躍的に高めてくれる。

もう一つ重要な機能は、「ソースコードフォーマッター」の機能だ。良い設計は、シンプルな構造をもった可読性の高いコードを生む。したがって、ソースコード上で設計を行う場合、常に、整えられたソースコード上で思考することは、設計に対する意識を高めてくれることにもなる。

残念ながらCDTにはコードフォーマッターがついていない。なので自分で組み込む必要がある(組み込むための拡張ポイントは定義されている)。そこで、僕は、AstyleというツールとCDTを連動させるプラグインを作った。でも、Astyleはもう少しだということも分かってきた。JDTに付いているような、めちゃくちゃおせっかいだけれど、完全に一貫性のあるフォーマットをするツールはないだろうか。