Berbicara dari pengalaman ...
Proyek Open Source pertama yang saya berkontribusi, saya penuh dengan kencing dan cuka ketika saya mulai juga.
Apa yang segera saya lakukan adalah melalui banyak file sumber dan mulai menyesuaikan hal-hal dengan preferensi pribadi saya, membuat tambalan besar, dan mengirimkannya.
Jika Anda bekerja dengan seseorang yang 'baik' (seperti saya), ia akan langsung menolak tambalan itu. Sebagian besar karena, ketika Anda berkontribusi pada proyek open source, Anda diharapkan untuk memecah perbaikan Anda menjadi potongan ukuran gigitan yang mengatasi satu masalah. 'Dihapus semua foto' bukan contoh yang baik dari komit atom. Bahkan jika Anda memecahnya menjadi lebih kecil, komitmen yang terdokumentasi dengan baik terlebih dahulu mungkin masih ditolak.
Alasannya adalah, karena kode ini dikerjakan oleh banyak orang (dengan gaya yang berbeda) dari waktu ke waktu, tidak benar-benar layak untuk menerima perubahan di seluruh perpustakaan agar sesuai dengan gaya satu pengembang. Jika mengubah gaya demi gaya itu layak maka setiap proyek sumber terbuka tidak akan pernah bergerak maju karena kode akan terus diedit agar sesuai dengan gaya pengembang yang berbeda.
Kode refactoring dan menambahkan fungsionalitas (atau menghapus cacat usang) biasanya lebih diutamakan daripada kode 'pembersihan'.
Bagian tersulit dan paling memuaskan dari mengerjakan proyek sumber terbuka adalah, Anda akan ditanya mengapa Anda mengusulkan untuk melakukan perubahan yang Anda kirimkan. Jika Anda bisa memberikan alasan yang bagus, ada kemungkinan patch Anda akan dikirim lebih baik.
Saran saya adalah melakukan beberapa perubahan ini pada satu file sumber untuk memberikan rasa apa yang Anda coba lakukan terlebih dahulu. Jika perubahan dibenarkan dan diterima dengan baik, tanyakan apakah lebih banyak perubahan seperti itu akan meningkatkan kualitas proyek. Dengan begitu Anda tidak akan membuang banyak usaha untuk apa-apa jika tambalan Anda ditolak di masa depan.
Mengembangkan open source lebih dari sekadar menulis kode. Anda sedang berupaya membangun hubungan saling percaya karena para penjaga gerbang (pengembang yang mengontrol akses push) akan melakukan apa yang harus mereka lakukan untuk melindungi integritas proyek. Saat Anda mengirimkan lebih banyak tambalan, gatekeeper akan merasakan gaya Anda lebih baik dan Anda tidak perlu terlalu banyak membenarkan perubahan Anda.
Ini adalah proses yang membutuhkan waktu tetapi sangat bermanfaat. Anda tidak hanya akan belajar banyak karena dapat melihat, dan mengkritik kode orang lain, tetapi Anda akan dikritik pada gaya Anda sendiri.
Sebelum Anda membuang banyak waktu untuk mencoba 'memperbaiki ketidakadilan dari kesalahan gaya pengkodean orang lain' tanyakan pada diri sendiri ini:
Apakah perubahan yang Anda usulkan didasarkan pada nilai tambah pada proyek atau apakah itu didasarkan pada agama gaya internal Anda sendiri.
Ada banyak agama di Stack Overflow (dan situs Stack Exchange terkait). Maksud saya banyak . Orang-orang berpikir dan berbicara tentang gaya tanpa akhir, seolah-olah semakin Anda membicarakannya, semakin dekat Anda dengan gaya pengkodean 'sempurna, ideal, tidak dapat dihancurkan, dan sempurna'. Saya terlalu banyak membicarakannya karena itu menyenangkan.
Di dunia Open Source, gaya tidak begitu penting. Fungsinya adalah .
Catatan: Semua saran ini mengasumsikan bahwa gatekeeper Anda adalah programmer yang masuk akal dan berbakat. Jika ya, anggap diri Anda beruntung karena Anda tidak terjebak dengan salah satu cengeng b & # & es yang satu-satunya perhatian adalah melindungi 'bayi' mereka. Mereka memang ada di alam liar, jadi jangan heran jika Anda menemukan satu.
goto
belum tentu berantakan. Ada banyak kasus ketika penggunaannya dibenarkan secara sempurna.