« 続・Emacsを自分で拡張するためのTips | メイン | パソナテック10周年記念 シリコンバレーツアー(前編) »

横に長いコードはどこで改行していますか?
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

中村です。

プログラムコードは1行80文字以内で、というルールを多くのプログラマが知っていると思います。以前はプリンタなどの、ハード的な都合があったみたいですね。現在では81文字になってもそれほど困ることはなさそうですが、今でも、ある程度このルールが守られていることが多いのではないでしょうか。

そんな中、メソッド名などの都合上、どうしても長くなってしまうことがあります。そんなとき、みなさんはどこで改行をしていますか?

例えば、次のようなJavaプログラムがあったとします。

package net.unoh.labs.longlong;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Client {

    public static void main(String[] args) {
        
        HttpURLConnection urlConnection = null;
        BufferedReader reader = null;
        
        try {
            URL url = new URL("http://clonedoppelganger.net/");
            urlConnection = (HttpURLConnection)url.openConnection();
            urlConnection.connect();
            reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            while (reader.ready()) {
                System.out.println(reader.readLine());
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (urlConnection != null) {
                urlConnection.disconnect();
            }
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}

「reader = new BufferedReader...」のところが文字数オーバーです。私が改行するならこのようにします。

        try {
            URL url = new URL("http://clonedoppelganger.net/");
            urlConnection = (HttpURLConnection)url.openConnection();
            urlConnection.connect();
            reader = new BufferedReader(
                        new InputStreamReader(urlConnection.getInputStream()));
            while (reader.ready()) {
                System.out.println(reader.readLine());
            }
        } catch (MalformedURLException e) {

これの見栄えが良いのか悪いのかは全く不明ですが、大体悩んだ結果こんな感じになります。関係ないですが、このプログラムを実行すると、指定のURL(ここではclonedoppelganger.net)にアクセスしてコンテンツを出力します。

次のJavaScriptコードの場合はどうでしょうか。

document.getElementsByTagName('body').item(0).innerHTML = ['Hello', 'World'].join('<br />');

少々意図的ですが、こんなコードも世の中にはあると思います。私が改行するならこのようにします。

document.getElementsByTagName('body').item(0).innerHTML
        = ['Hello', 'World'].join('<br />');

演算子の両隣には半角スペースを空けたり、といった他のインデントは大分と自分のなかで確立されてきたのですが、改行の位置は未だに試行錯誤の連続です。ケースバイケースではありますが、何かしら基準があると悩まずに済むのになともんもんしています。

どう改行する?.orgをそろそろ作るべきかなと悩みます。

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/1445

コメント

JavaScriptの行末の ; は省略可なので ; を補うことが出来ないことが明らかな場所でしか怖くて改行できませんね。

自分はだいたい開く括弧の直後が多いです。

コメントを投稿


画像の中に見える文字を入力してください。

  [PR] 転職
ウノウラボはウノウ株式会社のエンジニア/デザイナーによる大小のアウトプットを行っていく場です。

現在ウノウは絶賛人材募集中です。詳細は求人ページへ。

About

2008年7月 5日 00:05に投稿されたエントリーのページです。

ひとつ前の投稿は「続・Emacsを自分で拡張するためのTips」です。

次の投稿は「パソナテック10周年記念 シリコンバレーツアー(前編)」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

ウノウサービス