私は、開発者に彼らが書いたすべてのテストの上に自分の名前や署名を載せることをお勧めしますか?所有者とのタグ付けユニットテストは良いアイデアと考えられていますか?
答えて
私は「いいえ」と言います。誰がテストを書いたのかを本当に知る必要がある場合は、あなたのバージョンコントロールを振り返って、誰が責任を負っているのかを知ることができます。人々が物事に名前をつけ始めると、あなたは集合的所有/非難の感覚を失い、人々はシステム全体ではなく「自分たちの」コードにもっと関心を持ち始めます。
私はAndy'sを支持しましたが、コードに名前を入れることは、維持しなければならないことです。例えば。ジョーはテストを作成しますが、ジェーンはそれを変更します。ジョーのテストですか、ジェーンのテストですか? Janeがコメントを変更しないと、Janeが書いたコードについてJoeと話をします...あまりにも混乱します。責任を使用し、それを完了してください。
すでに存在する姿勢によると思います。競合が多い場合は、すべての名前を削除すると便利です。コードはそれ自体を表しているためです。しかし、名前がテストに置かれている場合(コードの場合)、開発者は所有権を取得しています。
所有権を握ることは、開発者に可能な限り完璧なものにすることを奨励するため、常に良いことです。また、テストについての質問をする必要があるときや、テストが失敗したときに、その理由を把握できないときに、その専門家に質問することができます。
しかし、暗い雰囲気がある場合、守備的で、お互いを弱体化しようとする開発者については、「このコードを間違った人」または「このテストが失敗したためXはそれをひどくコード化しました」と述べています。
このようなテストに明示的に名前を付けるときは、常にバランスが取れています。 Andyが言及したように、誰が何かを書いたかを本当に知る必要がある場合は、常にソース管理があります。
あなたはその情報をどうしますか?
著者名を使用するためのユースケースはありません。
一般に、情報は2つの意味のうちの1つを持ちます。
なくなっ人の(プロジェクトから消え会社、または請負業者と再発見することはないだろう誰かから消えて。)
人が周りにまだです。
2番目のケースでは、すでにわかっています。ソースコードファイルに名前を付けても、このコードで作業したことは明らかではなく、依然として会社とまだプロジェクトのままです。
したがって、著者の名前には使用例はありません。
名前を入れるための唯一のユースケースは、(特に人が会社にいなくても)愚かなコードを笑ったり、楽しんだりすることを素早く知ることができるようにすることです。 :) 冗談だ –
私は本当にあなたの文化の残りの部分がコード所有権の周りにあるかどうかにかかっていると思います。あなたのチームの文化は、すべてのコードが誰かによって所有されており、その人だけがそのコードに触れることができるということです。
しかし、コードの共同所有権があるチームで作業することをお勧めします。元の著者がファイルを持っているのはうれしいことですが、オリジナルの設計が誰かを見るだけですが、それを超えて、特定のテストにタグを付けると便利ではないと思うことがあります。
他の人が触れたように、誰が特定の変更を行ったかを実際に把握する必要がある場合は、バージョンコントロールからその変更を把握することができます。一般的には、テストはチーム全体が所有し維持するべきだと私は考えています。
私は、の署名付きテストではなく、自明のテストケースを推奨します。
誰がテストを書いたのか分かっていても、彼はまだここで働いていて、彼が利用可能であるとしても、彼がこのテストを書いた理由を覚えているとは確信できません。
テストケースの名前が十分明確であることを確認してください。必要に応じてコメントを追加し、バグID、ユーザーストーリー、顧客を参照してください...
- 1. activerecordをモデルとして、これは良い考えですか?
- 2. タグ付けユニットテスト
- 3. *これは良い考えですか?
- 4. リソース所有者とアクセストークンを共有しないことがメリットと考えられるのはなぜですか?
- 5. org.hibernate.Session.clear()は有害だと考えていますか?
- 6. この特性所有者はユニットテストに有益ですか?
- 7. Facebook Graph APIはRESTful APIと考えられていますか?
- 8. Firebaseはフロントエンドと考えられていますか?
- 9. "net/http"のグローバル変数の使用はgolangの良い習慣と考えられていますか?
- 10. ASP.NETページプロパティ良い考え方または悪い考え方
- 11. `var self = this`はコードの匂いと考えられますか?
- 12. .NET MailMessageとSMTPClientはスパムとしてタグ付けされていますか?
- 13. パラメータのないコンストラクタはOOPの中で最も良いと考えられています
- 14. デリゲートとシングルトン:良いアイデアか悪い?
- 15. node.jsとreactjsはPHPテンプレートレンダリングサービスとして良いアイデアですか?
- 16. これらのC++ STLの順序付けられていないセットは同じではないと考えられるのはなぜですか?
- 17. Mercurialリポジトリを共有ネットワークドライブに入れるのは良い考えですか?
- 18. ステートフルプロトコルよりもステートレスプロトコルのほうが良いと考えられていますか?
- 19. 良いアイデア/悪いアイデア(/他のアイデア?)
- 20. Djangoタグ付け - タグが分離されているとのトラブル
- 21. レベル0のメンバーは決して共有しないとタグ付けされています
- 22. 所有者にContextMenuタグをバインドする
- 23. JDialogとその所有者
- 24. なぜt-sneは監督されていると考えられますか?
- 25. 特定の所有者を持つ(または所有していない)ファイルを見つける
- 26. カプセル化と構造化 - これは悪いスタイルと考えられますか?
- 27. 新しいパスワードをCustomUsersCredentialsに追加するか、良いアイデアか悪い考えですか?
- 28. Module#module_functionの使用が悪いと考えられていますか?
- 29. iosがローカル通知をブロックすることが有害であると考えられていますか?
- 30. RVMはアプリケーション仮想化スキームの一種と考えられていますか?
+1合意。コードレビューは改訂管理プロセスの一部でなければならないことに言及したいと思います。誰もがあなたが行くように他の人がコードを改善するのを助けます。コード変更は、誰が責任を問うべきか不思議に思えるほど長く見えないようにしてはなりません。 –
+1のバージョン管理では、誰が何を書いたのかを把握する必要があります。コードコメントとして著者とバージョン番号を追加することは、バージョン管理を適切に使用していないか、まったく使用していないことを明確に示しています。 – Spoike