Javaでクラスの実装を進めていくと、あるメソッドが継承元クラスのメソッドをオーバーライドしているのか、あるいは何らかのinterfaceの実装なのか、だんだん見分けがつかなくなります。一定の規則でメソッドを並べたり様々な工夫があることと思います。
Xcodeのpragma mark
#pragma mark - UITableViewDelegate
iOSアプリ開発に慣れていれば、上記のような#pragma mark
を残しておく習慣があることでしょう。ちなみにSwiftでは以下のようになります。
// MARK: - UITableViewDelegate
region
Android Studioにはpragma markとは少し違いますが、regionというコメントの書き方があります。
//region GoogleApiClient.ConnectionCallbacks @Override public void onConnected(Bundle bundle) { connectLocationService(); } @Override public void onConnectionSuspended(int i) { disconnectLocationService(); } //endregion
上記のように//region
と//endregion
の間に囲まれた範囲を、任意の名前で定義することができます。この例であれば、二つのメソッドがGoogleApiClient.ConnectionCallbacks
インターフェースの実装であることが明白です。
またこのregionの範囲はフォールディングできます。
ちなみに//region
の書き方はVisual Studio風ですが、NetBeansの<editor-fold desc="GoogleApiClient.ConnectionCallbacks">``</editor-fold>
という書き方もできます。
本質的には、クラスにメソッドが増え過ぎて迷子になるようなら、役割が広すぎるクラスになってしまっているのかもしれません。そのような場合でもコメントなどによって適切なグルーピングが行われていれば、リファクタリングの助けになるでしょう。いずれにせよ、読みやすくコードを整理することはよい習慣です。
- 作者: 藤田竜史,要徳幸,住友孝郎,日高正博,小林慎治,木村尭海
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/07/30
- メディア: 大型本
- この商品を含むブログ (4件) を見る