トップページ > プログラム > 2014年04月12日 > ul/EWy73

書き込み順位&時間帯一覧

7 位/186 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000003050000000000008



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Git 8

書き込みレス一覧

Git 8
897 :デフォルトの名無しさん[sage]:2014/04/12(土) 09:21:16.15 ID:ul/EWy73
バイナリの場合にロックが必要ということは
要するに、ソースコード(テキスト)に関しては
ロックは不要ってことでいいよね?
Git 8
899 :デフォルトの名無しさん[sage]:2014/04/12(土) 09:25:48.39 ID:ul/EWy73
ロックが必要な場合はあるかもしれないとして
それはバイナリに限るわけで
ソースコード(テキスト)にロックは不要。
もし必要だとしたら、それはソースコードの質が悪いから。

質が悪くて単一責任の原則(SRP)を満たしていないから
複数の人が一つの関数を修正することになる。
Git 8
901 :デフォルトの名無しさん[sage]:2014/04/12(土) 09:32:41.33 ID:ul/EWy73
多人数のプロジェクトがあるとして、
まずやるべきタスクがある(githubで言えばIssueに相当する)

そのタスクには担当者が書いてある。
だから同じタスクを複数の人がやることはない。

別々のことをやっているのだから、同じ関数をいじることは少ない。
もし別々の作業をやっていて同じ関数をいじることがあればマージすればいいだけである。
(ロックがあると別々の作業をやってるはずなのに、ロックされていて作業ができないという問題が発生する!)

マージできないバイナリだけが問題なので
ソースコード(テキスト)にロックが必要になることはない。
Git 8
908 :デフォルトの名無しさん[sage]:2014/04/12(土) 11:11:06.10 ID:ul/EWy73
>>904
一般的な話をすると、必要ないメールは、減らす方がいい。
減らす努力をしないとダメだ。

メールがたくさんあると埋もれて重要なメールを見逃す。
たとえば、自分と関係ないファイルのロック情報のメールは
重要なメールを隠すゴミでしかない。
Git 8
909 :デフォルトの名無しさん[sage]:2014/04/12(土) 11:12:26.73 ID:ul/EWy73
基本的な話として、コンフリクトが起きるのは
多人数のプロジェクトであっても少ないという
この前提があることを忘れないように。

つまりはロックをかける必要性は
少ないということである。
Git 8
910 :デフォルトの名無しさん[sage]:2014/04/12(土) 11:16:35.51 ID:ul/EWy73
>>907
> それはマージが神の如く万能な時に限る

95%うまくいく。

> どうマージすればいいか担当者間で話し合わなきゃならないことがある
ロックはファイル単位なので
「他の人が触っている時にそのファイルをいじれない」という大問題が、
プロジェクトの人数が増えれば増えるほど大きくなる。
つまり担当者間で調整する必要が増えるが

マージの95%はうまくいく、つまり
「他の人が触っている時にそのファイルを触っても問題ない」ので
担当者間での調整が殆ど発生しない。

「他の人が触っている時にそのファイルを触っても問題ない」のに
「他の人が触っている時にそのファイルをいじれない」ことが起きる原因がロック。
Git 8
913 :デフォルトの名無しさん[sage]:2014/04/12(土) 11:20:45.20 ID:ul/EWy73
ロックをかけていれば、プログラムが壊れないかというとそうではない。

同時に作業をしている時、
Aさんがaというファイルを
Bさんがbというファイルを修正した時、

ロックをかけていても、ファイルが違うので
当然同時に作業できる。

a単体、b単体なら修正しても問題ないが、
aとbの両方が修正された時、プログラムが壊れることはある。

つまり、

> それはマージが神の如く万能な時に限る
> どうマージすればいいか担当者間で話し合わなきゃならないことがある

というのは、ロックをかけていても発生する問題。
ロックがあれば万能なんだということにはならない。
Git 8
914 :デフォルトの名無しさん[sage]:2014/04/12(土) 11:23:00.27 ID:ul/EWy73
>>912
> というか、だいたいはそれで機能するんだろうけど、万一の事故が起きないように、ソースが
> クリーンであることを確実にしたいためにロック型の共有が必要になるんだよ。

たしか、ソースコード(テキスト)のロックは百害あって一利なしって
コンセンサスを得られたと思ったんだけど?(笑)

ロックを使ったとしても確実にクリーンになることはない。
ただ他の人の作業を妨げるだけ。

本来同時に出来る作業(それが大部分)ができなくなる。というデメリットが発生するだけ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。