Etiket untuk mengembalikan karya orang lain

8

Baru-baru ini saya berdebat dengan teman satu tim bahwa saya "tidak berkonsultasi dengan mereka sebelum kembali" karena itu membuat mereka "terlihat seperti orang idiot". (Untuk konteks, ini adalah proyek universitas, dan pengembaliannya lebih dari penempatan kode.)

Ini membuat saya bertanya-tanya: Apa norma untuk memberi tahu pengendara yang perlu dilakukan pemulihan? Bagaimana Anda memberi tahu mereka bahwa Anda perlu mengembalikan komit ini tanpa memicu perasaan keras?

tyteen4a03
sumber
Tanyakan pada orang itu "hei, apakah Anda keberatan jika saya mengubah kode Anda seperti ini ...?"
Bryan Oakley

Jawaban:

11

Memiliki ulasan kode.

Itu seharusnya bisa menyelesaikan sebagian besar dari mereka, jika Anda menggunakan komit Anda masih dapat membuat permintaan tarik bahkan jika itu hanya untuk satu orang lain untuk meninjau tim Anda.

Jika kesalahan terjadi, maka itu adalah kesalahan tim dan bukan hanya satu orang.

Jika Anda tidak ingin melakukan itu karena suatu alasan, tidak ada cara mudah untuk melakukannya. Anda tidak memiliki proses untuk memasukkan kode ke dalam repo, maka, yah, jangan kaget ketika perasaan orang lain terluka.

Seperti yang sering terjadi, ketika Anda menghadapi situasi di mana Anda melakukan hal-hal yang akan membuat orang lain frustrasi, biasanya baik untuk berbicara dengan mereka terlebih dahulu sebelum melakukan tindakan. Dalam hal ini mungkin itu berarti berbicara dengan kolega Anda dan bertanya, "Saya berpikir untuk mengembalikan X karena [alasan] - apa pendapat Anda?"

enderland
sumber
Yang mengatakan, itu bisa sangat sulit untuk memiliki ulasan kode untuk proyek universitas, menurut pengalaman saya. Semua proyek saya di universitas berjuang untuk menemukan waktu untuk mendapatkan semua orang di ruangan yang sama! Ini lebih mudah di industri, tetapi itu mungkin membutuhkan manajer yang meyakinkan untuk melihat manfaat dari ulasan tersebut dan bahkan kemudian mungkin tidak ada ulasan pada semua komitmen.
Kat
Yang mengatakan, pengalaman saya dengan proyek-proyek universitas juga melibatkan banyak menimpa perubahan orang lain karena mereka bahkan tidak bisa melakukan hal-hal seperti menulis kode dengan gaya yang konsisten atau menulis implementasi yang sangat kereta. Kurangnya memiliki manajer di sebagian besar proyek universitas adalah keterbatasan utama untuk membuat orang bekerja sama dengan baik (belum lagi banyak siswa tanpa pengalaman industri atau bahkan pemahaman tentang apa kode yang ditulis dengan baik).
Kat
3

Anda punya alasan bagus untuk mengembalikan komitnya, atau tidak. Jika Anda memiliki alasan yang bagus, maka "membuat saya terlihat seperti orang idiot" bukanlah argumen balasan yang baik. Yang mengatakan, akan sopan untuk memberi tahu orang tersebut terlebih dahulu tentang alasan untuk menghindari pertengkaran.

Dan semua yang dikatakan, akan jauh lebih baik untuk memiliki ulasan kode, jadi semoga kembali tidak boleh terjadi - mungkin terjadi komit ditolak, tetapi Anda tidak boleh masuk ke situasi di mana ia dikembalikan.

gnasher729
sumber
"" Membuatku terlihat seperti orang idiot "bukan argumen balasan yang baik" Benar-benar. Dalam lingkungan kerja yang masuk akal, Anda ingin bersikap baik kepada rekan kerja Anda, bukan membuat mereka berpikir Anda meremehkan mereka. Ada banyak cara yang lebih baik untuk menyelesaikan masalah ini daripada mengembalikan kode yang bukan milik Anda.
thedayturns
2

Pertanyaan mendasar untuk masalah ini adalah "siapa yang memiliki komponen pada tingkat teknis"?

Jika tidak ada jawaban untuk ini, atau aswernya adalah "kita semua melakukan" atau "tidak ada yang" atau Anda hanya mendapatkan tampilan bingung dan tidak ada yang melihat masalah, jangan buang energi Anda dan cari pekerjaan lain.

Jika ada jawaban dan pembicaraan dengan changer tidak mengarah pada kesepakatan, lakukan dengan pemilik dan changer, buat kasus Anda dan biarkan pemilik memutuskan.

Tanggung jawab bersama adalah akar dari semua basis kode yang menyedihkan dan karyawan yang menyedihkan.

Martin Maat
sumber
1

Saya pikir itu adil untuk dimintai konsultasi jika seseorang memiliki investasi waktu yang signifikan dalam sesuatu, terutama jika itu masih baru. Lebih baik sampai pada konsensus terlebih dahulu. Idealnya Anda akan meyakinkan orang tersebut untuk melakukan pengembalian diri.

Jika Anda mengalami perselisihan yang tidak dapat Anda lakukan, berkonsultasilah dengan orang ketiga. Biarkan suara mayoritas menang, atau pastikan orang ketiga adalah pengembang utama.

Kadang-kadang Anda harus membiarkan barang pergi, Anda tidak harus memenangkan setiap pertempuran. Pastikan Anda didengar.

Saya pikir itu sehat untuk tidak menjadi melekat pada kode yang Anda tulis. Saya sering mengembalikan kode saya sendiri, orang lain harus dapat melakukan hal yang sama ketika diperlukan.

Joppe
sumber
1

Jangan hanya kembali, biarkan mereka melakukan pengembalian sendiri.

Alasan umum yang dapat Anda berikan saat meminta pengembalian:

  • "Komit XYZ Anda memecah ini dan itu penggunaan / fungsi / testcase"
  • "Komit XYZ Anda tidak mematuhi standar pengkodean kami misalnya lekukan yang salah"
  • "Komit Anda XYZ melanggar proses organisasi kami, mis. Komit ke komponen A harus ditinjau sebelum-komitmen oleh pemilik komponen B"

Hanya alasan untuk mengembalikan sesuatu yang tidak dilakukan sendiri

  • Orang diperpanjang (liburan / sakit)
  • Komit merusak bangunan atau melakukan sesuatu yang mencegah anggota tim lain dari melakukan pekerjaan mereka.
  • Komitmen kereta sudah dalam produksi dan perlu diperbaiki secepatnya
melengkung
sumber