開発ツール棚卸し

ひょんな所から援軍が来ることになり、ようやく仕事が平常モードに向かいつつあります。キツかった・・・まぁ、仕事はまだまだ山積みなんですけどね。

さて、少しだけ時間に余裕が出来たところで、いくつかの開発プロジェクトをVS2005からVS2010へ以降しました。というのも、C++testがやっとVS2010に対応してくれたからです。

思えば、ウチにはツールがやたらあって、メンテナンス費用だけでも毎年100万以上払ってます。まぁ、人を雇うよりは安いですけどね。ともあれ、どんなツールをつかってるのか、ちょっと整理してみます。

C++開発環境

◎ヘビーに使用 ○そこそこ使用 △あんまり使っていない

◎VS2005 → VS2010
◎Visual Assist X (コーディング、リファクタリング補助)
○DevPartner (プロファイラ機能のみ使用)
△VTune (プロファイラですが・・・個人的にはDevPartnerのが良かった)
◎C++test (コード静的解析&ユニットテスト&コードカバレッジ計測)
◎Qt (有償版。Digiaの方針は品質重視っぽいので、グッドです)
△Enterprise Architect (いいツールなんですが、あんまりUML書かなくなりました)
○Install Shield (インストーラ作成ツール)
◎Beyond Compare (DIFF&マージツール。かなり使いやすい)
○HexComp (バイナリDIFFに特化したツール。2GBのファイルも普通に扱えます)
◎Doc-o-Matic (Cコードのドキュメント化)

どれも重要なツールですが、1番重要なのはQtです。Qtの柔軟性を利用してちょいとプラットフォームを自作してやるだけで、恐ろしく開発効率の高い環境を作れます。

次に重要なのは、Visual Assist Xです。入力補完が恐ろしく強力で、タイピング量が激減します。その分、指への負荷も激減です。

VS2010で期待していたのが2つ、1つはマルチディスプレイ対応、もう1つがC++0x対応です。C++0xはまだ試していませんが、マルチディスプレイはリファクタリングする時にすごく便利ですね。

あと最近の発見はDoc-o-Maticです。Cコードをドキュメント化してくれるツールなのですが、プログラミングの最中にもバンバン生成しています。「設計書」「Cコード」「生成ドキュメント」の3点を眺めながら作業すると、開発効率が良くなる事に気がつきました。(外国製のツールですが、なぜかちゃんと日本語ドキュメントも生成できます。)

MATLAB/Simulink

◎ヘビーに使用 ○そこそこ使用 △あんまり使っていない

◎MATLAB
◎Simulink
○Stateflow
△MATLAB Coder
△Simulink Coder
◎Simulink Verification and Validation (モデルのスタイルチェックなど)
○MATLAB/Simulink Report Generator (DIFF表示に)
○MATLAB xUnit (単体テスト)

思えば、サードパーティー製ツールを殆ど入れてないですね。自作ツールはちょこちょこ作って入れていますが、そのうちまとめて売ろうかな。。。

あと、DIFF表示がちょっとアレな感じなので、別ツールを検討しています。medini uniteあたりが良さげですが、どうしようかなぁ。

インフラ等

◎ヘビーに使用 ○そこそこ使用 △あんまり使っていない

◎FogBugz (バグ管理)
◎Kiln (バージョン管理&コードレビュー)
◎DekiWiki (情報共有サーバー)
○TestRail (テスト管理システム)

FogBugz & Kilnは、開発が活発で頻繁にアップデートしています。ちょこちょことした改善の繰り返しですが、気がつくととても快適になっています。複数人で作業をするときは、欠かせないツールです。

CAN

◎ヘビーに使用 ○そこそこ使用 △あんまり使っていない

○Vehicle Spy

CAN系のお仕事をするときはヘビーに使います。CAN関連の作業は、これだけ買っておけばOKな感じです。

事務系

◎ヘビーに使用 ○そこそこ使用 △あんまり使っていない

◎Office2010 (64ビット版ですが、すごくいいです。PDF出力機能がお気に入り)
○Adobe Photoshop (プログラムに入れるアイコンを、ちょいちょい加工してます)
○Help & Manual (マニュアル作成ツール。なかなか使いやすいです)
○Camtasia Studio (PC画面の動画撮影ツール)
△iSpring (プレゼン動画作成ツール)

まとめ

こうして見てみると、MATLAB関連がすごく手薄にみえてしまいますが、実は本当に必要な機能はたいがいMATLAB本体が持っていたりします。

そのあたりの突合せをして、実はMATLABでここまで出来ちゃうんですよ、という特集も面白いかもわかりません。

あと、C++関係の開発環境はまだまだ足りていません。こういうツールが欲しいのにというアイデアはあるのですが、そもそも市販されていません。売ってるものは、たいがい買っちゃいましたから。

そうすると、あとは開発費つっこんで作っていくしかないのですが、このご時勢ちょっと怖かったりします。うーむ。