スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 隠しコマンドの追加とか | トップページ | Android版も完成した »

AndroidStudioには大迷惑

今は、Nostalgic UFO Battlerの更新開発フェーズで、Windows版は完成の域に達したので、そのコードをAndroid版に移植し始めた。最大の問題は、従来のEclipse+ADT環境が廃止になったので、AndroidStudioを使う必要がある事で、作者的には、この切り替えは大迷惑だ。

Nostalgic UFO Battlerは作者製ソフトの中では極めて単純な部類に入る。

なので、ソースコードの行数的には、1万行程度しかないのだが、数日前に書いた様に、AndroidStudioは異常に重いので、Corei3 3217UのX202E上でビルドすると、1分15秒もかかってしまう。

で、同様の処理を行うWindows版をVisual Studio Community 2013でビルドすると、リビルドしたとしても、3秒でビルドは終わる訳だ。

と、いう事なので、作者的には、AndroidStudioで真面目にコードを書いてビルドしてデバッグする、何てことはやってられないので、開発はWindows版で行った訳なのだが、今日は、そのソースコードをクリップ転送しつつ、AndroidStudio上の既存コードを変更していた。

で、まず、腹が立ったのは、デフォルトの文字フォントはmonospaceタイプになっていたのだが、実際には、微妙に、モノスペースにはなっていなかった事だ。

なので、スペースやタブで位置合わせして見やすくしていたソースコードをクリップボード経由で転送してAndroidStudioに張り付けると、微妙に上下ラインで文字の先頭がズレる格好になった訳だ。

で、この問題は、エディタのフォントを別のモノに変更する事で対処できたのだが、次に、作者はSwitch文のCaseはSwitchと同じ位置にインデントさせるのだが、AndroidStudioでは、自動インデントがSwitch文から一つインデントした位置にCaseを置いてしまった、という事だ。

で、元々のソースコードについては、インデントされず、新しく挿入したコードについてのみ、Caseの位置がインデントされた訳なので、コードが非常に見づらくなった。

このため、この自動インデント機能を禁止できないか、と、設定を見てみたのだが、色々と弄ってみても、禁止できなかった訳だ。

仕方がないので、既存コードを含めて、AndroidStudioのインデント設定で成型させようか、と、メニューを見てみたのだが、そういう機能は、VisualStudioにもEclipseにも存在するのだが、AndroidStudioでは見当たらなかった。

ネットを検索してみると、Ctrl+Alt+Lキーで上記の目的は達成できるみたいだったので、領域選択をして、このショートカットを使う事で、なんとか、Switch文の構造も見渡せる様にはなった。

しかし、AndroidStudioでは、VisualStudioやEclipseがメインメニューに配置した機能を、配置しておらず、代わりなのか何なのか、Join LineだとかDuplicate Lineみたいな、普通にキー入力していれば簡単にやれる様な機能を、メインメニューに配置している訳だ。

上記とは別次元の話として、更に問題なのは、エディタ上にくだらない警告が表示されすぎるので、マトモな警告があるのかどうかが判らない、という点だ。

具体的には、if (a == false)だとか、b = 20*1、みたいな文法的に全く問題が無い文についても、AndroidStudioでは警告表示されてしまう訳だ。

どういう警告なのか、というと、if (!a)と書いた方が短縮できる、だとか、20*1の*1は不要だ、みたいなモノなのだが、当然の事ながら、作者はそんな事は判った上で、上記の様な書き方をしている訳だ。

何故なら、if(!a)というのは、パッと見では、!があるのか無いのかが判らない場合もあるので、より見やすい様に、ワザワザ、== falseと書いている訳だし、*1についても、アルゴリズム的に、20の値が一つ、という意味あい持たせる事で、次にコードを見る時に理解しやすくしている訳だ。

にも関わらず、AndroidStudioは、前述の様に、上記の文を警告扱いしてくれるので、高々数千行のクラスに警告が幾つあるのか判らないくらい出ている訳だ。

そして、前述の様に、作者は意図して、上記の様な書き方をしている訳なので、いくらAndroidStudioに警告されたからといって、表現方法を変える訳にはいかない。

つまり、警告は無くならないので、より危険な意味あいを持つ警告があったとしても、気付けない訳だ。

ちなみに、VisualStudioやEclipseやXcodeでは、前述の様な記述方法をしていても、当然の事ながら、警告された事は一度も無いし、Switch文のインデントについても、柔軟性があるので、作者流のインデントで記述が可能だった。

と、いう事で、作者的には、AndroidStudioには大迷惑している訳なのだが、Nostalgic UFO Battlerは、前述の様に、Visual Studio Community 2013でビルドすれば、リビルドでも3秒しかかからない程度のプログラムでしかないので、何とか、我慢して仕上げるつもりではある。

= この記事に関連する公開中ソフト =

ノスタルジックUFOバトラー

UfoBattler.jpg

(2016/10/25追記)

« 隠しコマンドの追加とか | トップページ | Android版も完成した »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/63620361

この記事へのトラックバック一覧です: AndroidStudioには大迷惑:

« 隠しコマンドの追加とか | トップページ | Android版も完成した »

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google