QA@IT
«質問へ戻る

質問を投稿

ソースコードは横80カラム以内で折り返すべき?

最近はターミナル(もしくはエディタやIDE)の横幅も割と自由が利きますし、画面も大きいので、ソースコードに横80カラム以内で折り返すべく適宜改行を入れるようなコーディングスタイルは古いという意見を耳にします。そんな人とは仕事がしたくない、という風にまで言う若者もいてビビっています。

例えば、こういうコードです。

  def set_encoding(html)
    enc =
      if html =~ /meta.+charset[ =]+[\"\']?([^>[\"\']]+)/i ||
        html =~ /xml.+encoding[ =]+[\"\']?([^>[\"\']]+)/i
        $1
      else
        Kconv.guess(html).to_s
      end
    # to handle the obsolete charset name, which should've been extinct...
    enc = "Shift_JIS" if enc.downcase == "x-sjis"
    enc = "UTF-8" if !Encoding.name_list.map(&:upcase).include?(enc.upcase)

    html.force_encoding(enc)
    html.encode("UTF-16BE",
                :invalid => :replace,
                :undef => :replace,
                :replace => '.').encode("UTF-8")
    end

条件式のところを論理演算子で改行しています。横幅に収まるかどうかというだけでなく、上下で比較して意味的に把握しやすいし、私はこのほうが良いと思うのですが、そうでもないのでしょうか? String#encodeのオプション指定も改行していますが、見やすくて良いと思っています。

横80カラムで改行すべき理由、すべきでない理由がありましたら、教えてください。個人的な意見や、チーム内でのコーディングスタイルの話でも、参考にさせていただきます。

最近はターミナル(もしくはエディタやIDE)の横幅も割と自由が利きますし、画面も大きいので、ソースコードに横80カラム以内で折り返すべく適宜改行を入れるようなコーディングスタイルは古いという意見を耳にします。そんな人とは仕事がしたくない、という風にまで言う若者もいてビビっています。

例えば、こういうコードです。

~~~ruby
  def set_encoding(html)
    enc =
      if html =~ /meta.+charset[ =]+[\"\']?([^>[\"\']]+)/i ||
        html =~ /xml.+encoding[ =]+[\"\']?([^>[\"\']]+)/i
        $1
      else
        Kconv.guess(html).to_s
      end
    # to handle the obsolete charset name, which should've been extinct...
    enc = "Shift_JIS" if enc.downcase == "x-sjis"
    enc = "UTF-8" if !Encoding.name_list.map(&:upcase).include?(enc.upcase)

    html.force_encoding(enc)
    html.encode("UTF-16BE",
                :invalid => :replace,
                :undef => :replace,
                :replace => '.').encode("UTF-8")
    end
~~~

条件式のところを論理演算子で改行しています。横幅に収まるかどうかというだけでなく、上下で比較して意味的に把握しやすいし、私はこのほうが良いと思うのですが、そうでもないのでしょうか? String#encodeのオプション指定も改行していますが、見やすくて良いと思っています。

横80カラムで改行すべき理由、すべきでない理由がありましたら、教えてください。個人的な意見や、チーム内でのコーディングスタイルの話でも、参考にさせていただきます。