eclipseの本当のデメリットとそれを克服するための代替案
viからeclipseに戻れない10の理由は半分ネタ、半分本気です。
今回は、僕がもうしばらくの間eclipseを使わないでいようと思う本当の理由を書きます。
eclipseのメリット
本題の前に、Eclipseからテキストエディタに戻れない10の理由で挙げられているメリットのいくつかについて考えてみます。
無条件で受け入れていいと思うメリット
以下のものは無条件で受け入れていいと思っています。
1.と2.に関しては、キー入力が減ったり、見やすくなったりするのだけど、デメリットはあまりないでしょう。
7.のデバッグは素敵です。代替手段として、javaであればjdbというコマンドラインのデバッガがあるみたいですが、よくわかりません。勉強不足です。
どうでもいいと思うメリット
- 4. コードのフォーマットチェック
eclipseの便利な機能の恩恵を受けられる前提があれば、共通のフォーマットを保つことの重要性があまり感じられないです。見た目きれいなのはわかりますが。
大事なのはフォーマットよりも論理的なプログラムの構造の方だと思います。多少のフォーマット間違っていても、プログラムの論理構造があっていれば問題ないと思います。むしろ検出されたフォーマットの修正に割く時間がもったいないです。
開発現場でCheckStyleを使わされていたことがありましたが、正直面倒なだけでした。
よく考えたいメリット
ここにあげるのはeclipseのメリットの中でも重要なものです。重要であるからこそ、そのメリットの効果をよく考えたいのです。
宣言への移動をした先がinterfaceのメソッドや抽象メソッドの場合には、その後どうしましょう?
eclipseではものすごいリファクタリングができますが、自分のやりたいこと一致しているのでしょうか?
コンパイルエラーへの解決策は、自分のやりたいことと一致しているのでしょうか?
eclipseのやってくれることが自分の意図と一致するのか、一致しない場合にはどうするのか、あるいは、何もしてくれないばあいにはどうするのか・・・。この点についての判断がつかない場合、eclipseの本当のメリットは得られないと思うのです。
ここからが本題
今回の主張のポイントは、上記の「よく考えたいメリット」について、自分で「判断」が付くかどうかです。さらに、「判断」できるようになるために、どうするかという点です。
おおざっぱにプログラマを分類してみる
仮に、プログラマを以下の二通り分類できるとしてみます。一応補足すると、必ずこんな風に分かれるとは思っていません。
- A:きちんとプログラミングの仕組みを理解している。eclipseの動作の成否について自分で「判断」がつく。eclipse等の統合開発環境がなかった場合でも、時間をかければ別の手段でも何とかできる。
- B:プログラミングの仕組みをあまり理解していない。eclipseの動作の成否について自分で「判断」がつかない。eclipseがなんかやってくれるからすごいことができている感じ。
ここでいうBの極端な例は、
プログラムがろくに書けない奴にはテストコードの作成でもやらせておけ!
でいう、「プログラムがろくに書けない奴」とか、
テストケースの策定にはスキルが必要なので、それはテストケースを策定できる程度の能力を持つ人間にやってもらうしかない。そのテストケースをJUnitの自動テストのコードに起こす作業は、業務の簡単なビジネスロジックしか書けません、という使えないコーダになんとかやらせることができる仕事で、かつ、システム本体に悪影響を与えさせないという安全な仕事なのである。
でいう、「業務の簡単なビジネスロジックしか書けません、という使えないコーダ」ですね。
ここまで極端でなくても、Bに該当する人は少なくないのではないでしょうか。
できればB⇒Aに成長したい
片手間でなく仕事としてプログラムをするのであれば、できる限りAの開発者に移行できた方がいいというのが僕の意見です。自分がどういう作業をしたいのか、その結果が意図した通りなのかといったことが判断できる方が良いです。プログラムなんて片手間でよくてSEをやるんだとか、そもそも開発の仕事自体興味ないよっていう人にとっては関係のない話です。
B=>Aになるのにeclipseはデメリットになりうる
人それぞれだとはいえ、仕事は楽な方が良いと感じる人は少なくないはず。そうすると、eclipseで簡単にできてしまうことについて、わざわざ頭を使わなくなってしまうと思うのです。B=>Aへの成長に関して、頭を使わないことは大きなデメリットになりうると思います。
eclipseでできること、あるいは、eclipseについて知っていることが、開発でできることの限界なんだと思い込んだら、成長は難しいでしょう。