Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

diff > Link > 行内の変更箇所が色強調されるツール / 改行を好まない理由

More than 3 years have passed since last update.

関連
http://qiita.com/Mura-Mi/items/7fed2867e072f16110b8

ツール

行内の変更箇所だけ色付けが強調されるツールもある。例として、TFS (Visual Studio 2012)

ファイル比較だけの場合、以下にツールの候補があがっている。
http://unix.stackexchange.com/questions/11128/diff-within-a-line

vimdiffあたりなど変更箇所が分かりやすい。

ただ、gitなどのバージョン履歴にて使うには別途工夫がいるかもしれない。

(追記)
@okzk さんの記事でgitにあることが記載されていた。
http://qiita.com/okzk/items/9756ac2827e78b9beca5

改行を好まない理由

コードに改行を入れた場合、エディタの検索結果が読みにくくなり、ソースリーディングがしにくくなる。
いくつかのエディタでは検索時に検索キーワードを含む1行(+設定による前後数行)を検索結果窓に表示する。

例として、:nameで検索した結果

改行なし検索結果
params.require[:model].permit(:id, :name, :address, :postal, :score)
params.require[:model].permit(:id, :name, :address, :postal, :score)
params.require[:model].doit(:id, :name, :address, :postal, :score)
params.require[:model].permit(:id, :name, :address, :postal, :score)
params.require[:model].replace(:id, :name, :address, :postal, :score)
改行あり検索結果
                                    :name,
                                    :name,
                                    :name,
                                    :name,
                                    :name,

改行なしの場合は、:nameパラメータがどういう関数で使われているかが一見できる。改行ありの場合は、検索結果の先を開いて見ないと理解できない。

一方で、「変更箇所を明白にしてdiffを読む人が変更箇所を理解しやすく」という意図に賛成する。

「行を分ける.」の例1に賛成する。複数のincludeを1行にまとめる必然性がないと感じているから。
「行を分ける.」の例2には上記の理由から賛成しかねる。

SourceTreeのUIやgithubのwebブラウザUI, bitbucketのwebブラウザUIなどで標準的に行内の変更箇所だけの色づけがされるようになればいいと思う。

7of9
セブンオブナインです。Unimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。まとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。いわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away