クラスベースな言語での空行について(リーダビリティ)

投稿者: Anonymous

JavaやC#, Rubyなどである程度、1ファイルが大きくなる場合
セパレータや空行2行などを使って、関連性の薄いメソッドとメソッドなどの間隔を区切っています。

普段、このようなコーディングスタイルでプログラムを書いているのですが、
Vimのプラグイン ‘vim-go’ を使っていたところ、2行空行は1行の空行に圧縮されました。 ( gofmt?というものの機能でしょうか )

そこで気になったのですが、このような形のプログラムの記述は見にくいでしょうか?
( または、共同開発において弊害を起こす可能性などありますか? )

空行以外でもリーダビリティに害をなす可能性のあるものがあればご指摘くだるとありがたいです。

public class BubbleSort {

    /* ---===---===---===---===---===---===--- */


    public static void main(String[] args) {
        int[] xs = { 1, 5, 2, 6, 4, 3 };

        BubbleSort sorter = new BubbleSort();

        sorter.sort(xs);
        sorter.arrayView(xs);
    }


    /* ---===---===---===---===---===---===--- */


    public BubbleSort() {
        System.out.println("new");
    }


    /* ---===---===---===---===---===---===--- */


    /**
     * うんたら
     *
     * @param xs ソートを行う対象のint配列
     */
    public void sort(int[] xs) {
        // インデント増加対策
        for (int i = 0; i < xs.length; ++i) for (int j = i; j < xs.length - 1; ++j) {
            if (xs[j] > xs[j + 1]) {
                int tmp = xs[j];

                xs[j]     = xs[j + 1];
                xs[j + 1] = tmp;
            }
        }
    }


    /**
     * かんたら
     *
     * @param xs 表示をする対象のint配列
     */
    public void arrayView(int[] xs) {
        for (int x : xs) {
            System.out.println(x);
        }
    }


    /* ---===---===---===---===---===---===--- */

}

解決

コメントにて回答を頂けたのでこの質問はクローズします。
ありがとうございました!

以下に自分の結論を載せます。


 セパレータはメンバの分類のみに使用します。

class Foo {
  /* ------ private final field ------ */

  private final String BAR = "BAR";

  /* ------ private field ------ */

  private String hoge;

  /* ------ public static method ------ */

  public static void aho() {}

  /* ------ public method ------ */

  public void neko() {}
}

 また、各メソッドの間にはセパレータは挿入しませんが
原則的に二行の空行を挿入します。 ( 感覚的に見やすかったため )

class Hoge {
  /* ------ public method ------ */

  public void inu() {
    System.out.println("wan wan !!!");
  }


  public void sugoiInu() {
    System.out.println("won won !!!");
  }
}
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *