コードへの感情的な愛着[終了]


26

会社の従業員として、コードを書くとき、添付ファイルがあるように感じますか?コードの所有権があると感じますか?または、他の場所に移動した後に何が起こるかを心配せずに、完全に切り離された状態で書き込みますか?

編集:私は悪いコードを書いて実行することについて話していません...


職場の文化に強く依存しています。

回答:


33

請負業者として30年を経て、それは複雑になりました。

  1. それはすべて使い捨てです。私は何百ものクライアントと仕事をしてきました。コードは二度と表示されません。なぜ添付されるのですか?所有権の感覚はありません。

  2. それは非常に目に見える。社内のコードよりも高価なので、多くの精査を受けます。私はそれを維持するために周りにいないので、非常に多くの精査を受けます。コードのウォークスルーとハンドオーバーは非常に重要です。職人技には誇りがあります。しかし、所有権の感覚はありません。

私の記録は17年の生産です。あらゆる種類のメンテナンスがゼロの12年間。

電話がかかったので知っています。彼らは会計システムを改訂しており、私が何年も前に構築した巧妙なコスト配分アルゴリズムを置き換える方法を知りたいと思っていました。コードを調べたところ、ファイルは12年前の最後の拡張以降変更されていません。(バグ修正ではありません、私の知る限り)

私が知っている次の最長の実行は、7年間の完璧な運用でした。ただし、これには深刻なY2K問題があり、4桁の年のファイル名を使用するためにいくつかの手直しが必要でした。内部アルゴリズムはすべて正しいものでしたが、ログファイルは間違った順序で表示されていました。

繰り返しになりますが、前回のリリース以降、ファイルは変更されていないため、問題はありませんでした。

だから、はい、職人技には大きな誇りがあります。

しかし、「所有権」はありません。それは私のコードではなく、彼らのコードです。ビルドするだけです。


1
世界が変化するため、完璧なプログラムでも変更する必要があることを明確に示しています。

10

多かれ少なかれソロ開発者として、私が書いたものを維持しなければならないという恐怖は、恐ろしいコードを書かないようにしようとする私の背後にある主要なドライバーです。


9

職場では、私が座っている椅子が私のものであるのと同様の意味で、コードの一部は私のものです。私はそれを書き、私はそれをできる限り良く作り、それを所有していると感じ、人々は変化について私に尋ね、人々はそれを私のものと呼ぶでしょう。そして、私の椅子のように、会社を辞めた後は二度と見ることはなく、感情的な執着はもうありません。

「私の」という言葉には、その意味に多くのバリエーションがあります。「私の妻」と「私の歯ブラシ」は厳密に平行ではありません。


4

自分でコードを作成する場合、それに対する感情を持つ余裕があります。ビジネス向けのコードを作成する場合は、可能な限りこれらの感情を慎重にパージする必要があります。優れたプログラマーがコードに対して感情的になることで悲しみを覚える回数を見ることはできません。

自分に言ってください:「私はそれを作った、それは良いが、それは私のものではなく、私はもっと作ることができる。」信じているなら、劣悪な製品の営業担当者が昼食で上司にBJを与えたために人生の6か月が陳腐化しても、彼に夢中になって仕事を失うことはありません。

彼らがあなたに支払っているのを思い出してください。私たちはみんなクールなことをしたいと思っていますが、彼らが私たちに穴を掘るためにお金を払っているなら、それらを再び埋めることが彼らの特権です。私はちょうどその、その後数ヶ月は、ひどい特徴を組み込んだヶ月を過ごした私は、Webアプリを書いた状況、持っていたより元の状態に戻ってそれをコーディングします。最後の2週間分の「作業」はSVNリポジトリから取得し、新しいバージョン番号で再コミットしました。そして、私はそれで大丈夫です。


3

いいえ、しかし、私が最初に書いたコードで他の人によって導入されたバグを修正しなければならないのは本当に嫌いです。そもそも変更が私に割り当てられていたなら、私は幸せでしょう。修正が元の設計から完全に外れている場合、たとえば、より高いレベルのモジュールで循環依存関係を作成することにより、さらに嫌いです。


0

はいといいえ。

はい-それはあなたが作成したものなので、車の設計者が道路でデザインした車を見たときに誇りに思うか恥ずかしいように、あなたは愛着を持っています。

いいえ-所有権に関する限り、通常、会社で働くために支払われるのと引き換えにそれを放棄します。自動車を製造する工場の従業員は、時間に応じて給料が支払われるため、生産ラインからロールオフする各自動車の所有権を取得しません。


0

私が書いたコードは非常に独占的だと感じています。これは、特定の問題を解決する方法について私が下した決定を表しているため、問題を合理的に考え、論理的でうまくいけばエレガントなソリューションを考案する能力を反映しています。そうは言っても、私が会社の時間に書くことはすべて会社のものです。私はそれが私に噛み付くように戻って来ないことを望み、私は自分のコードを修正するように頼まれることを好むが、そうでなければ、そうではない。(さらに、3か月前にコードを書いてソース管理で自分の名前を付けていた人はバカだと付け加えるかもしれません)。


0

どういたしまして。チェックインすると、「私のもの」ではなくなります。私は当然、メンテナンスとトラブルシューティングの頼れる男になりますが、それに対する所有権の感覚は感じません。

私は自分のコードに対して非常に専有的であると感じている人々を知っています。他の誰かがバグを修正したり、最初に実行せずに何らかの方法で修正した場合にイライラするほどです。私はそのように感じたことがありません。私が尋ねるのは、あなたが私のコードで問題を見つけて修正したら、問題が何で、どのように修正されたか教えてください。そうすれば将来同じ間違いを犯さないようにです。


0

私が書いたコードが大好きです。他の人も理解できるように、それらを理解して調整します。人々が私に近寄ってきて「おい、私たちがあなたのために書いたスクリプトをまだ使用している。それはとても安定していて移植性がある」と言うとき、私はその誇りと所有権の気持ちが大好きです。

コードがどこに行き着くのかを見ることができれば、コードにアタッチしても害はありません。つまり、すべて社内にあり、誰のためにプログラミングしているのかがわかっている場合、実際にそれは良いことだと思います付属します。Cozは、さらに多くの輝きを生み出すことを愛するでしょう。

一方、(@ S.Lottが言ったことを繰り返しているかもしれないことを十分に承知している)コードがクライアントのプロパティとして終了する場合、感情的になることは意味がありません。友人が休暇に行ったときに子犬の世話をするようなものです。:-/


0

コードを二度と見ないかもしれない請負業者やコンサルタントは、おそらく自分のコードに感情的に結びつく理想的な候補者ではないでしょう。何度も何度も「放棄」しなければならないので、しばらくすると、貧しいコンサルタントの創造力が損なわれるでしょう。

請負業者ではなく従業員の観点から見ると、チームメンバー全員が、作成するコードと作成するすべてのコードの所有権を感じてほしいと思います。この所有権と誇りは、チーム全体に拡大する必要があります。自尊心と所有権を感じると、問題のある製品への愛着が生まれ、チームメンバーの仕事に意味と感覚が加わります。これにより、小規模から大規模のチームでパフォーマンスが大幅に向上することがわかりました。

避けるべきものと私が嫌いなのは、自分が書いた特定のコード行に感情的に執着しているように見え、それを墓場で守る人々です。彼らは変更を望んでおらず、見下ろし、変更や改善のためのアイデアを断り、信頼できるものでそれを正当化しようとします。私自身の経験から、これがしばしば要約するのは、変化への恐怖と未知への恐怖です。問題は、実際には古いコード行を放棄することではありません。代わりに、自分では書かれていないこともある何か新しいことに取り組む必要があり、それに失敗する恐れがあります。

この種の「病気」のコードへのアタッチメントは、私が防ぐために努力するものです。しかし、製品への「健康な」感情的なつながり、ひいては記述されたコードは、私が奨励するものです。


0

これは興味深い質問であり、上記の投稿のいずれかに同意します:はいといいえ-しかし、異なる理由があります。

コードに執着しますか?絶対そうです。しかし、コードそのものではなく、全体的なアーキテクチャとアプリケーションだと思います。通常、ビジネスの人々が望むものを実際にコードに入れる前に、多くのドメイン固有の調査を行う必要があります(IDEを書いている場合を除き、間違いなく再帰に行き詰まっています)。

一方、コードベースの古い部分を捨てる以上に、私が気に入っているものはあまりありません。文章がどんなに難しくても。旅は製品よりもはるかに重要です(少なくともエゴにとってはもちろん、製品自体も同様に機能しなければなりません)。

所有感はありますか?まあそれはプロジェクトの状況に依存します。コードが二度と表示されない場合(プロジェクトの一部が終了し、先に進んでいるため)、その内容についてなぜロマンチックになりますか?ただし、(何らかの形で)それをサポートし続けている場合は、愛着の感覚は良いことです!構築している製品に関心がある場合、高品質のアーティファクトを配信するためにハートを試みている可能性は非常に高くなります。

全体として、私は自分が書いたコードと実際的な「関係」を採用しようとしています。


0

ええ、私はかつて同僚をbeatりました。彼は、いくつかの変数の名前を変更するほどto慢だったからです。

いいえ、そうでもありません。ソフトウェア開発の報酬を受け取ります。私が認めているとしても、他の開発者によって私のコードにバグ修正が行われるのを見ると、エゴに影響があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.