2011年6月8日水曜日

Android環境構築@MacBook

ということで、環境構築です。

以下のサイトから、SDKをダウンロードしときます。
http://developer.android.com/sdk/index.html

で、Eclipseはすでにinstall済みでしたので、そこにAndroidのPlug-inを入れます。
help->Install new softwareを選択して、以下のアドレスを指定。
https://dl-ssl.google.com/android/eclipse/

適当にacceptしたら、Install開始。→そして終了。

それが終わったら、Windowメニュー(Windowsのメニューじゃないよ!)からAndroid SDK and AVD Managerを選択。
AvailablePackagesを選択して、あるものすべてInstall!!!

めちゃくちゃ時間がかかるので、今日はこのあたりで。

2011年6月7日火曜日

WWDCとコーディング規約

さて、ちまたではWWDCで持ちきり(!?)な感じですが、近況でも書こうと思います。
最近は、資格の勉強をしています。メンドクサイので資格なんて取っていませんでしたが、遂に取らないといけない日が来そうです。笑

まぁ、そんなことはよいのですが、今日は仕事のグループミーティングでJavaのコーディング規約に関する講義があったので、覚えていることだけ、メモしときます。

まず、簡単なところで、
Stringで文字連結するな
ってことです。これは、Stringを連結する場合、ミュータブルな値なので、連結の度にコピーして連結、コピーして連結っつー無駄な処理が入ります。
StringBufferや、最近出てきたStringBuilderを使えば、とある環境ですと、2000倍も性能が変わってきます。これはでかいですね。
#そういえば、StringBufferってequalsメソッドないんですね。知らなかったー(-_-;)

あとは、
Static Initializerを使って初期化しろ
ってことです。フィールドの定義の部分で
static int INT_C = 1234;
って定義してJar化してしまうと、コンパイラは1234で初期化を行い、このクラスのModuleのみを差し替えようとした場合、フルビルドしないと、INT_Cは1234が入ったままになっています。ですので、static initializerを使って、実行時に初期化してねってことです。

あとは、
メソッドの引数のクラスは再利用するな!
です。final宣言し、引数として扱うことで、再利用をさせないようにします。
このクラス引数を、自クラスのフィールドに代入するときは、cloningしてから代入しましょう。また、自クラスのフィールドがpublicの場合、書き換えられる可能性もあるため、この対処は必要です。

あとは、
例外処理はフィルタリングしろ!
ってことです。だらだらとメソッドの横にExceptionを書きまくっている汚いコーディングをするのではなく、public void sample() throws MyLogicException{}的な感じで、ちゃんと例外をフィルタリングしましょうってことです。

また、
例外処理をちゃんと書け!
っつーことです。throws Exceptionおしまい。みたいな?なに、この例外?ってことは無いように。

とりあえず、今日はこの辺にしておきます。

ちょっとうるおぼえな所があるかもしれないので、間違っていたらご指摘していただければ幸いです。