今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

Javaコード整形

依頼されたコードがあまりにも汚い。少しだけ手作業でコード整形してたけどとても追いつかない。ってことで、コード整形ツールを探してみた。いくつか試したけど最終的にArtistic Styleを採用。
Artistic Style
以下のコマンドで起動。

# astyle -cpU --style=java -m0 -M80 Javaファイル名

でも気に入らんところが。
こういうコードを整形すると、

    if (exp) {
         // 処理
    } else
    if (exp2) {
         // 処理
    } else
    if (exp3) {
         // 処理
    }

こんなことになる。

    if (exp1) {
         // 処理
    } else
        if (exp2) {
             // 処理
        } else
            if (exp3) {
                 // 処理
            }

そうならないように、元のコードのその部分を以下のように修正してからツールに整形させることに。

    if (exp) {
         // 処理
    } else if (exp2) {
         // 処理
    } else if (exp3) {
         // 処理
    }

あと、メソッドの宣言で throws が改行後に書かれてるときもいまいち。これも手作業で改行を除去してから。
そこまでツールがやってくれたらいいのにー、とか思いつつ。完全自動化は無理だった。。。
まあ、最初に最初に grep で else や throws の問題箇所を探して手作業で修正しとけば、-r オプションでディレクトリを再帰的に処理できるからまあいいか。