コードの入力補完機能って意外とうるさくないですか?

最近の開発環境だとだいたいこの機能ってついていますよね。VisualStudioにしろXcodeにしろEclipseにしろ。IntelliSenceという名前の場合はVisualStudioだけですが、入力補完処理がほかの統合開発環境(IDE)だとどのように呼ぶのか知らないのでとりあえず汎用的に意味を示すような題名にしてみました。

で、今回はこれです。使っているVisualStudioのバージョンが古いので最近のものは余り知らないのですが・・・。今は仕事の関係でXcode5を使い始めています。が、これの入力補完がやたらとうざいと感じています。まあ、設定を変えて黙らせれば済むだけなのかもしれませんが、多少は使うので結局はこの機能と仲良くなるしかないんですよね・・・。

 

コンパイル前に変な警告をさせるととてもいらつく

警告は警告なのでされないよりはましなのですが・・・。今現在やっているXcode5の処理でいらついている警告が三つありまして、それが

  • swtich-case構文でenumにより宣言されている変数を指定するとdefaultが無い限りすべての処理を記述するように警告される
  • printf系の構文でformatが変数の型と合わない、特にintやlong(+unsigned)の差を正しくするように警告される
  • defineプリプロセッサで可変引数によるマクロの場合、引数がないと警告される

です。プログラム的には分からなくもない(printf系構文であれば変数の型と合わないとアタックをかけられるかもしれないので)ですが、個人的には行き過ぎのような気がしています。しかもいやなのがこれをコンパイル時の警告として表示するのではなくコード上に表示することなんですよね・・・。Xcodeは確かに前からコード中に表示するようになっていましたが、なんか納得がいかないんですよね。

これもありますが、VisualStudioでもあるのが命令文の終了である「;」が抜けた時の警告。単なる書き忘れで行を変えた時に警告が出るのはコンパイル前にチェックできてありがたいのかもしれませんが、なんかコンパイル前にこれが出されると自分がダメ人間のような錯覚を受けるのは私だけなのでしょうか・・・。

 

いらないコードを補完しないでほしい

Objective-Cの場合はインスタンスへのメッセージ送信、という考え方の関係上引数の名前呼び出しが言語の仕様上可能になっています。で、普通にコードを書いている分には対象のインスタンスで呼び出すことができるメッセージを表示してしかも引数としてあり得そうなものまで表示されているのでありがたいような気もするのですが、例えばここで先頭にメッセージ呼び出しの括弧が足りない時はさあ大変。括弧のつじつま合わせをしようとパラメータ部分に勝手に括弧が付け足されるわ、気がついて括弧を削ってもカーソルを移動させたらまた就いてくるわ。ここまで来るとお節介もいいところです。

ちなみにちょっとした間違いで呼び出すメッセージを書き直した場合でも前に補完されたパラメータ部が残ったままになってなんかとんでもない状況となったりと。削除するのも一手間なんですが、これって対処法とかあるのでしょうかね。まだVisualStudioの場合は呼び出すメソッド候補をリストで表示するところまでしかない(はず)なのでマイルドな処理ですよね~。

 

VisualStudioとXcodeのキーアサインの違いに苦しむ

これはツッコミのおまけです。個人的に困っているのが行頭に戻る処理と行末に移動する処理です。VisualStudioは行頭移動がHomeキー、行末移動がEndキーなんでこれを使用することが多いです。が、これがXcodeに持って行くとHomeキーがコードの先頭行への移動、Endキーがコードの終端行への移動となんか困ったことになっています。こちらもキーアサインを何とかすればいいような気もしないでもないですが、行頭にカーソルを持って行きたいだけなのに間違えてコードの先頭行に移動してしまうと元の編集行を探すのが一苦労なんですよね・・・。他にもありますが、この辺は愚痴になるのでこの辺で。

 

この手の補完機能って初心者には親切なのかな?

この後でプログラム講座でもまじめに開こうかと思っている私ですが、補完機能があることにより逆に分からなくなることがありそうで怖いです。特に自動的に表示されるいくつかの警告、例としては行末の「;」を忘れた時の警告はコード内に直接出るようになっていますが、これだと「コンパイルした時に出るエラーの意味をひもといていく」というプログラムを作っていく上で重要な学習の手順が抜けることが問題になると個人的には思っています。それとも逆に「コンパイル前に分かったことが良かったこと」としてとらえるべきなのでしょうかね。これも開発環境の変化による新しい考え方なのでしょうかね。

ちなみに本当の初心者の人であれば「まずはサンプルをいろいろと作ってみて動作を見てみる」のをおすすめします。「サンプルを手に入れてビルド」ではありませんよ。自分で打ち込むことに意義がありますからね。コードを書く時に見やすいコードの書き方やコードの流れを打ち込みながら覚えていく、という手順はプログラムをかけるようになる流れの中で必要だと思いますので。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事のトラックバック用URL