墜落日記 - 2010年7月7日の墜落
Visual Studio で快適に仕事がしづらいワケ
ここ数日、仕事で Visual Studio 2005 の VisualBasic を弄っている。
ま~元々 VisualBasic は嫌いな言語の1つだったんだけど、.Net になって以降は少しだけ、ほんの少しだけ見直している。
で、最近興味のある言語も実は C# だったりする。
C# のストイックなまでの開発者寄りの仕様が悪くない。
でも、Visual Studio 2005 を使っていて常に思うのが、エディタ機能の超絶な使いにくさだよなぁ~
Borland 系 IDE や eclipse に慣れているってのもあるんだけど、ソースコードを縦横に駆け巡る感触がどうにも掴めない。
ソリューションエクスプローラは必要最低限の機能を持ってはいるけど、ソースコードの可視化機能が残念すぎ。
昔からの伝統でエディタの上部にプルダウンでクラスやメソッドを選べる様になっているけど、そもそもコレが史上最悪に使いにくい。
ソースコードの編集に連動して更新されるアウトライン機能があればいいじゃないか。
しかし Visual Studio でアウトライン機能を調べてみると大暴投としか思えない機能が出てくる。
ソースを "#Region *" ~ "#End Region" で括って見えなくしてアウトライン機能ですって言われても「アホですね」としか言い様がない。
デザイナなんかが自動的に変更して、初心者プログラマには触られたくないソースコード部分を隠すのに Region を利用するってのなら納得できるが、プログラマが書くソースコードも Region で括られた日には視認性が極端に下がって苦痛以外の何物でもない。
しかも Region で括られた部分は標準で閉じられていて、開いた箇所を覚えておく機能や、一気に開く機能すらない。
プロジェクト方針で全てのメソッドを Region で囲めなんて決まった日には、それはもう苦痛を通り越して悪夢である。
アウトラインで構造を想像しろと言われても、自分で組んだわけでもないソースコードではよほど厳密な(しかし非現実的な)コーディング規約が決まっていない限りメソッドの粒度はプログラマによりまちまちだし、一貫しているプログラマは希だから、想像しようにも振り幅が大きすぎる。
で、基本的に他人のソースコードを読む時は上から下まで流して眺めて全体の構成とプログラマの特性を大凡で掴もうとするのだけど、Region で閉じられているとこれがパパッと出来ない。
かといって、これをやらずに点から読み解こうとすると想像の斜め下を行くソースコードの方が多いので解読するのに異様な労力と精神力を強いられる。
ハッキリ言って、苛つく、そんなプロジェクト方針を提言した奴に殺意すら湧く、と言うか、即刻死ね(爆)
ソースコードは閉じたい時だけ閉じるを標準にリニアで見せて、ソースコードのアウトラインを抜き出して別途にツリー表示する「アウトラインと言って通常想像する方の機能」があればよい。
そっちの方がよほどにソースコードを縦横無尽に駆け巡れる。
本物の男たちは Region なんて使わない。
Region なんてコードを無駄に長く書いてステップ数だけ稼ごうとする Quiche Eaters のためにあるのだ。
(※The Real Programmer Stories 風)
あと気になるのは、ソースコードから定義へ移動したり、戻ったりという機能。
特に戻る機能の粒度が細かすぎる様だ。
「定義への移動」と「戻る」の粒度が一致していた方が、ソースコードを縦横無尽に駆け巡るには丁度良い。
ここ何やってるの? と思って潜って色々と調べた後に、元の場所に戻れなくなるってのは思考をぶった切られて苛つく。
キーアサインが独特なのも面倒だ。
Visual Studio 2008 とか最新の Visual Studio 2010 とかで機能改善されているのかもしれないが、Visual Studio 2005 までバージョンを積み上げたにも関わらず実装されなかった基本的な機能が今更追加されているとも思えず。
と言うわけで、Visual Studio は機能点数としては充分に実用的だと思うのだけど、この辺りの地味に開発効率に響いてくる部分の問題で、どうにも食指が動かない。
どうしたモンかなぁ~??
折角 MSDN にも契約していることだし、Visual Studio 2010 でも放り込んで試してみようかしらん?
ちなみに、前述の「アウトラインと言って通常想像する方の機能」はどうやら代替手段があるっぽい。
Microsoft Visual Studio 2005 IDE Enhancements というツールがあって、この中の Source Code Outliner が期待する機能に近い。
最初から付けとけよ、と思う。
Borland 系 IDE や eclipse 使いはこちらの Microsoft Visual Studio 2005 IDE Enhancements は必須ではないか?
惜しむらくは、フォームではコード表示の場合に Source Outliner、デザイナ表示の場合にドキュメントアウトラインと自動的に切り替わることが出来ないこと。
というかドキュメントアウトラインがコードのアウトライン表示に対応していないのがそもそもの問題なんだけどな。
って、これ、Visual Studio 2008 や 2010 には標準で付いてるんだろうか………?
追記。
Visual Studio 2010 Professional を入れてみた。
ダメだった………(爆)
いや、おかしいだろ、常識的に考えて!?
Microsoft Visual Studio 2010 IDE Enhancements はまだかっ!?
コメントは投稿されていません。