Saya baru saja mulai mengerjakan proyek open source dengan sekitar 30 pengembang di dalamnya. Saya sedang berusaha memperbaiki beberapa bug sebagai cara untuk masuk ke "loop" dan menjadi committer reguler ke proyek. Masalahnya adalah saya pikir saya telah menemukan cacat desain mendasar yang menyebabkan salah satu bug yang saya kerjakan. Tapi saya merasa jika saya meledakkan ini di milis saya akan dianggap sombong, dan beberapa diskusi yang saya lakukan tentang masalah ini berselisih dengan beberapa orang. Bagaimana saya harus melakukan ini?
sumber
Salah satu dari 48 Hukum Kekuasaan :
Ini adalah salah satu yang saya pelajari dengan susah payah setelah banyak argumen tidak berguna.
Dalam kasus khusus ini, saya akan menyarankan datang dengan sepotong kode yang sangat sederhana dan spesifik yang harus bekerja tetapi tidak akan karena cacat desain ini. Seperti pepatah lama, "Anda tidak dapat berdebat dengan kompiler / juru bahasa".
Hal lain adalah bahwa untuk memiliki pengaruh terhadap grup, Anda harus dianggap sebagai anggota grup . Meskipun Anda telah bergabung dengan perusahaan, orang belum menganggap Anda sebagai anggota grup. Dengan demikian, mungkin lebih baik mengikuti kelompok yang sudah ada sampai mereka belajar untuk menganggap Anda sebagai salah satu dari mereka.
sumber
Bisakah Anda bertanya mengapa desain tertentu digunakan? Dengan begitu Anda bisa mendapatkan lebih banyak dari cerita belakang karena mungkin ada beberapa alasan bagus mengapa sesuatu dipilih yang Anda tidak tahu. Saya akan pergi dengan gagasan bahwa Anda tidak cukup ahli yang dapat memisahkan desain tetapi bertanya mungkin merupakan cara untuk belajar lebih banyak sehingga pada akhirnya Anda bisa bertanya tentang kesalahan yang Anda temukan sehingga pesan tidak akan terlihat sebagai umpan api atau trolling.
sumber
Anda mungkin tidak akan suka ini ... tapi, begini ...
Tidak, tidak kamu tidak. Jika Anda melakukannya, Anda tidak akan begitu ragu tentang hal itu. Fakta bahwa Anda sendiri tidak yakin dengan "cacat desain mendasar", berarti Anda belum menemukannya. Ketika mencoba menunjukkan kesalahan orang lain, itu tidak membeli Anda teman untuk menggunakan superlatif (seperti "mendasar").
Apa yang mungkin Anda temukan adalah desain yang sedikit lebih baik, untuk masalah yang Anda alami. Anda mungkin harus mengujinya dengan seksama - karena Anda baru di proyek ini, ada kesempatan yang lebih baik daripada Anda tidak tahu apa yang Anda bicarakan.
Menyebutnya "cacat desain mendasar" pasti akan dianggap sombong. Dalam hal ini, bahkan menunjukkan bahwa itu mungkin bug bukanlah ide terbaik. Jika Anda tidak tahu pasti (dan dapat mendukungnya) bahwa itu adalah masalah, maka Anda perlu mengajukan pertanyaan dan penelitian dengan rendah hati sampai Anda benar - benar memahaminya . Lebih baik daripada siapa pun yang Anda coba meyakinkan.
Berhenti. Ini bukan masalah moral, dan itu tidak membunuh siapa pun (saya kira). Jika Anda berniat menjadi anggota proyek jangka panjang, Anda harus terlebih dahulu mendapatkan kepercayaan sebelum menanyai mereka. Perbaiki bug, lakukan pekerjaan yang luar biasa (dengan metrik apa pun nilai grup), desain beberapa fitur, dan dapatkan kursi di meja.
Kemudian, tanpa menunjuk jari atau memanggil sesuatu yang rusak, dengan rendah hati memunculkan saran untuk meningkatkan desain ke grup. Dan Anda lebih baik memikirkan semua konsekuensi dan solusi untuk mereka, atau Anda akan ditembak jatuh karena "naif". Bersiaplah untuk argumen tentang mengapa desain Anda lebih baik. Bersiaplah untuk kalah, dan kalah dengan anggun.
Jika ide Anda benar-benar lebih baik, akhirnya akan diterima oleh grup (meskipun mungkin tidak oleh desainer asli), grup tidak peduli, atau grup itu bodoh. Dalam salah satu kasus terakhir, mengapa Anda ingin menjadi bagian dari grup?
...
Jika Anda mampu, alternatifnya adalah hanya kode hal sialan itu begitu berdarah cemerlang bahwa mereka akan gemetar dengan takjub pada kecakapan pengkodean Anda dan tidak punya pilihan selain menerima kesederhanaan yang elegan dan kebenaran abadi desain Anda. Pengembang melakukan kompetensi hormat, tetapi Anda harus berhati-hati - hukuman untuk ketidakmampuan (atau kesombongan tidak beralasan) agak parah. Karena Anda menanyakan pertanyaan ini, saya kira rute arogansi yang brilian dan tidak malu-malu bukanlah pilihan. ;)
sumber
Bug adalah bug, dan tidak apa-apa menyebutnya begitu. Mengatakan bahwa itu disebabkan oleh "cacat desain" menunjukkan orang itu di hadapan Anda (yang paling mirip "ayah") dan mengatakan kepadanya bahwa ia idiot.
Tidak perlu dan kontraproduktif. Saya menyarankan:
Di mana XY dan Z memperbaiki masalahnya. Biarkan mereka memberi tahu Anda bahwa itu adalah cacat desain; mungkin ada solusi alternatif. Atau asumsi di balik 'cacat' dapat berjalan sangat dalam di seluruh proyek sehingga mengubahnya akan memperbaiki bug tetapi menghancurkan semua yang lain!
sumber