自分の書いたコードが他者によって書き換えられることにショックを受けてしまうひともいるって話「まずこういう感情を理解する必要がある」

改悪されたらキレる、それはそう。
102
irof @irof

自分の書いたコードが書き換えられることにショックを受ける人ってのはたくさんいて(もしかしたら多数派かも)、コードというかなんでもなんだろけど、「訂正」された、誤っていたと捉える。そもそも誤りでもないんだけど、仮に誤りだったとして、だからどうしたと、、、まだ掘らなきゃか。

2020-09-06 10:52:42
irof @irof

ふつうのプログラマ。あたりまえのことをあたりまえにしたい。目的のために手段を選ばないために手札を揃えるのが目的。

https://t.co/8qEu8cdWlY

irof @irof

誤らない、誤ってはいけない……の考えは、「自分は誤らない」と言う傲慢さのあらわれではないかと思わなくはないが、背景に誤らない実績を積み上げてきたなら当然かもしれない。んー……教育の影響に持っていってしまうのはいつもなので、他の方向に持っていってみよかな。

2020-09-06 10:55:41
irof @irof

コードにこだわり持って、所有感、自分ごとに考えるのは重要なのだとは思うのだけれど、なんか独占か占有か、とかく自分だけの不可侵なものと考えるのとごっちゃになってるところを感じる。

2020-09-06 11:00:23
irof @irof

コードを見てgit blameするのは、誰といつがわかればそのコードが書かれた背景を察せて、コンテキストの読み取りが楽になるからであって、blameの辞書的な意味のように責めたり咎めたりするためではない。元々の名付け意図は知らないけど、私はそう使うのが良いと思ってる。

2020-09-06 11:04:19
irof @irof

しょーもない誤りはいくらでもある。私もこないだ「普通に考えたらこうでしょ」な不具合を直したし、その元コードは誤りだろう。とは言え、その誤りが表面化するまでは全く問題なかったし、その間は価値を生み続けていた。元のコードを書いた人は罪の意識を感じなくていいと思う。書いたの私だけど。

2020-09-06 11:14:09
irof @irof

誤りを直される分には構わないんだった。「誤りでもないものが変更されることにショックを受ける」文脈。ちょっとした名前変更とか、メソッド抽出、インライン化といったリファクタリング。これも「誤りを訂正された」と感じるのかな。とかく、「ちょっと変えてみよー」でやっちゃう派とは相性が悪い。

2020-09-06 11:17:36
irof @irof

「動いてるものを変えてはいけない」は正しい文脈もあるが万能ではない。でも「ちょっと変えてみよー」で受け入れ難いダメージを負ったりすると、この言葉に縋るのかも。少し前に見た「ちゃんと作ったのが勝手に変えられて動かなくなって何故か自分への怒られが発生した」な話と重なるとこありそう。

2020-09-06 11:41:51
irof @irof

そもそも「書き換えられたことにショックを受けるのはおかしい」と言う話にはしたくなくないし、掘り下げの中でそちら方向に振れるのは避けたいところ。感じてしまうところまでは事実なので、ここをおさえにかかると、隠す方向に進むもの。そうすると状況はむしろ悪化すると思うんだ。

2020-09-06 13:09:01
irof @irof

「書き換えられたら書き換え直せば良い」みたいなのはまた軸が違うか。趣向としてはそちらだけど、元の文脈だと「書き換えられたコードは(心境はさておき)受け入れる」だし。脱線の先を進めるなら「書き換え合戦になったらどうしよう」とか出るけど、これは大抵の場合杞憂なので、起こってからでいい。

2020-09-06 13:26:33
irof @irof

コードの所有権的な「自分だけのコード」の思いが強い場合、2パターン見られる。強く反発するのと「もうそのコードは知らない」と放棄するの。どちらも難しいけど、後者は「これ作ったのお前だろ」みたいな理不尽な責めに対する防衛反応なのかなと予想してる。自分が経験してるしてないに関わらない。

2020-09-06 13:31:01
irof @irof

一人の所有物ならともかく、仕事は関係者全員で作るものなので、これに対して個人を吊し上げるようなことはあってはいけないと思う。甘やかしとかではなくね。吊し上げに行き着くのは不幸な噛み合いの結果だけれど、これを「自然淘汰的に適切な状態に収まったもの」との見立てには反発したい所存。

2020-09-06 13:48:10
irof @irof

一人でひっそり書いてる公開もしてないコードを、なんの関係もない全く知らない人が勝手に書き換えたら、たぶん私もイラッとする気がする。んー、もしかしてこの「あんの関係もない全く知らない人」が「勝手に」みたいなのを感じてたりするのかな。ここを合意できたら……?そんな単純じゃないか。

2020-09-06 13:54:28
irof @irof

焦点がいくつか出てきたかも。単語で挙げるなら、不可侵、否定、責任、制御下、関係性。あたりかな。

2020-09-06 13:59:44
irof @irof

「誤り」からの展開だと、まず「ゴールまで一直線で行きたい」みたいなのがある。一度作ったものに手を入れるのをまわり道や手戻りと評する呪い……これは呪いだと思うんだよね。手戻りを忌避することから、変更の発生を忌み嫌ってたりするのかもしれない。因果が逆か、別の繋ぐ要素がありそうだけど。

2020-09-06 16:36:55
irof @irof

納期プレッシャーは常にあって、それに対して作ったものの変更が発生しうると、積み上げによるスケジュールが破綻する。見積もりとの乖離が絶対悪な文脈……またこれ出てきちゃったか。これもまたいろんなとこに根を張ってるなぁ。一度書いてるから省略。 irof.hateblo.jp/entry/2018/04/…

2020-09-06 16:40:11
irof @irof

訂正であれ指摘であれ、「何かを人に言われる(受け身)」のを嫌う心理的な動きはある。私もそう感じるので感じない人がいるのかどうかは知らないけど、自分で考えると「準備できているかどうか」なのかなーと。思ってないところで来るとびっくりする。これの対応が「言われないようにしよう」なのかな。

2020-09-07 17:13:27
irof @irof

書き換えられる前提でなら書き換えられてもショックは受けないのだろう。と思ったけど「どうせ書き換えられるし」みたいなのもあったな……これはできれば書き換えられたく無いという思いからの発言だろうから、作ったものに対して何かしらのこだわりはありそう。

2020-09-07 17:15:03
irof @irof

単純に「書き換えられたことがない」もあるかな。伝統的な手法だと作ったコードはFIXして一切の変更を許さない(変更のためには管理してる原本を払い出す必要がある)とかもあるわけで、それの是非はさておき、今まで書き換えられたことが一度もなかったら何かしらのショックは受けて当然。

2020-09-07 18:29:16

カルロスわらふじ @RyoMa_0923

むしろ更新されない場合にもうプロダクションでは使われてないか〜と思っちゃうほうが精神的に安全かも twitter.com/irof/status/13…

2020-09-07 17:57:42
順三朗 @junzabroP

修正されている事自体はなんとも思わないけど、改悪されてたらブチ切れる自信ある。 twitter.com/irof/status/13…

2020-09-07 17:56:22
Takuto Wada @t_wada

ペアプロや「コードの共同所有」をチームに導入する際も、まずはこういう感情を理解する必要がありますね twitter.com/irof/status/13…

2020-09-07 17:53:53
miya_masa @MI_YA_U_CHI

僕は納得感のあるコードの書き換えだったら全然構わないな。逆に意図がわからん書き換えはうーんだけど。 自分が書き換えるときはメンテナを譲り受けたときとかが多くて、その時は自分でわかりやすいコードに書き換えてしまう。元のコードが悪いと思ってるわけでは決してなく。 twitter.com/irof/status/13…

2020-09-06 22:24:17
慎ましく暮らす人 @qtamaki

正解がないから間違いも無いんですけどね。コードは書き換えられ続けるソフトウェアの営みの一部なので twitter.com/irof/status/13…

2020-09-06 18:05:16