Disini kami akan mencoba membantu Anda, kontributor bagian pengembangan, untuk mendapatkan imbalan yang lebih baik atas kerja dedikasimu, proyek Anda.
Harap dicatat bahwa semua yang akan saya katakan adalah sudut pandang saya dan moderator lain mungkin tidak setuju dengan saya. Saya akan mencoba untuk menjadi seumum mungkin meskipun saya lebih suka meninjau kontribusi javascript (Node dan Bereaksi) sehingga contoh yang akan saya berikan sebagian besar untuk javascript. Saya terkadang meninjau .NET dan Java tetapi tidak begitu banyak.
PEDOMAN UTOPIAN
Pertama mari kita lihat panduan utopian
[Source](file:///storage/emulated/0/Download/utopian-guidelines.jpg)
kiriman harus menyertakan riwayat komitmen yang dapat dipahami.Proyek atau pembaruan yang dikirimkan dalam satu komit tidak akan dipertimbangkan untuk hadiah potensial.
Di sini cara termudah bagi kita moderator (paling tidak untuk saya) untuk meninjau kode Anda adalah jika Anda menggunakan Pull Requests. 1 fitur = 1 permintaan tarik = beberapa commit terorganisir. Kami dapat dengan cepat melihat semua modifikasi yang ada di kontribusi. Ini juga cara saya terbiasa berkembang. Saya adalah seorang mentor untuk sementara di #OpenClassrooms dan bagian dari kursus adalah belajar bagaimana menggunakan Permintaan Tarik. Penggunaan PR adalah wajib dalam semua proyek kursus.
Penyertaan kode kualitas yang kedaluwarsa atau rendah dapat menyebabkan skor kontribusi Anda lebih rendah, sehingga mengurangi peluang Anda untuk menerima hadiah.
Di sini ini cukup sederhana, coba perbarui paket dan ikuti praktik terbaik dari bahasa yang Anda pilih.
Kode yang dihasilkan atau hasil proses otomatis lainnya tidak akan dipertimbangkan untuk hadiah potensial.
Cobalah untuk memisahkan kode yang dihasilkan dari PR, commit, dan kontribusi Anda.Misalnya jika Anda menggunakan vue-climembuat Permintaan Tarik, masukkan proyek Anda, lakukan dan gabungkan. Tetapi jangan tambahkan Permintaan Tarik ini ke kontribusinya. Sepertinya Anda mencoba menyembunyikan pekerjaan Anda yang sebenarnya dan mencoba memancing imbalan yang tinggi dengan mengatakan ' Oh, lihat semua kode yang telah saya lakukan;Ini menempatkan saya dalam suasana hati yang buruk dan saya tidak ingin bersikap baik lagi.
Kontribusi yang dikirimkan harus menawarkan nilai unik. Proyek redundan, cuplikan kode sederhana, kode contoh atau template sederhana tidak akan dipertimbangkan untuk hadiah potensial.
Jangan buat kontribusi yang hanya memperbaiki bug. Mereka harus menyediakan tambahan yang bagus, fitur ... Jangan menciptakan kembali roda juga, jika ada proyek berwarna biru tidak membuat yang sama dengan warna merah;) Proyek juga tidak dapat memperhatikan Steem Blockchain.
Untuk dipertimbangkan untuk hadiah potensial, Perbaikan Bug dan Fitur Baru harus dikirimkan melalui Tarik Permintaan. Permintaan Tarik seharusnya telah digabung dalam 14 hari terakhir.
Perbaikan bug OK hanya jika itu karena perpustakaan pihak ke-3. Dan memperbaiki 2 bug tidak cukup untuk sebuah kontribusi. Anda hanya akan berakhir dengan 0.
Pembaruan pada Proyek Sendiri dapat dilakukan secara langsung, tanpa Permintaan Tarik. Untuk dipertimbangkan sebagai hadiah potensial, komit tidak boleh lebih dari 14 hari.
Itu adalah salah satu panduan yang tidak saya setujui secara khusus. Saya lebih suka menarik permintaan dan itu kebiasaan yang sangat baik untuk dimiliki terutama ketika Anda bekerja di tim. Mengapa kode berbeda karena Anda tim satu?
Perbaikan Bug untuk Proyek Pemilik kontributor tidak akan dipertimbangkan untuk hadiah potensial, kecuali Bug disebabkan oleh ketergantungan pihak ketiga.
Kami sudah membicarakan yang satu ini.
Kuesioner
Sumber kebenaran absolut! Ini adalah alat yang akan menentukan skor kontribusi Anda. Biar saya jelaskan bagaimana saya memilih jawabannya.
[Source](file:///storage/emulated/0/Download/utopian-scroll-of-truth.jpg)
Bagaimana Anda mendeskripsikan pemformatan, bahasa, dan presentasi keseluruhan posting?
Untuk yang satu ini saya suka punya gambar, ekstrak kode, pembenaran pilihan teknis. Untuk setiap fitur baru, ada baiknya memiliki demo gif kecil jika memungkinkan. Ini juga bagus untuk menghubungkan posting pertama yang menyajikan proyek Anda karena tidak selalu moderator yang sama yang akan melakukan peninjauan. Perlu diingat bahwa Anda menyajikan pekerjaan proyek sumber terbuka Anda kepada komunitas bukan hanya kepada moderator utopis sehingga Anda bisa mendapatkan hadiah. Jadi setiap kontribusi harus disajikan sebagai artikel yang menyenangkan untuk dibaca. Bukan hanya ' Hei saya sudah melakukan beberapa kode apa skor utopian saya?
#Bacakontribusiini.Ini adalah contoh bagus tentang bagaimana mencapai skor tertinggi untuk pertanyaan ini.
Bagaimana Anda menilai dampak dan signifikansi kontribusi terhadap proyek dan / atau ekosistem open source dalam hal keunikan, kegunaan, dan aplikasi potensial di masa depan?
Yang ini sangat subyektif. Jika beberapa perbaikan, kosmetik tambahan saya tidak akan memberikan nilai yang tinggi. Tetapi jika ada beberapa fitur inti baru yang ditambahkan ke proyek, saya akan memberikan skor tertinggi.
Bagaimana Anda menilai total volume kerja yang diinvestasikan ke dalam kontribusi ini?
Proyek Anda adalah untuk komunitas sumber terbuka, itu bukan pekerjaan berbayar harian. Jadi menurut saya, saya tidak akan memberikan skor tinggi untuk sesuatu yang dapat dilakukan dalam beberapa jam. Tapi bagaimana saya menilai jumlah jam? Yah saya hanya bisa melakukannya berdasarkan pengalaman saya. Saya sudah menjadi pengembang selama 11 tahun sekarang. Saya telah bekerja dengan banyak bahasa (.NET, Java, PHP, JavaScript, ...) untuk banyak perusahaan. Jadi saya kira jumlah pekerjaan berdasarkan pada berapa banyak waktu yang dibutuhkan dan kemudian menambahkan sedikit lebih banyak jam karena itu tidak akan adil untuk junior devs. Jadi jika suatu hari nanti akan " menunjukkan beberapa pekerjaan selesai ", jika itu 3 atau lebih saya memberikan skor tertinggi.
Bagaimana Anda menilai kualitas kode yang dikirimkan?
Nah sekarang kami memiliki praktik terbaik dan IDE yang dapat mengotomatiskan beberapa tugas untuk kami. Jadi saya mencari pola desain seperti MVC, MVVM,..Saya juga mencari aspek keseluruhan dari kode. IDE sekarang dapat secara otomatis memformat kode saat menyimpan. Kami juga memiliki alat untuk memeriksa kode kami atau memodifikasinya. Saya sedang berpikir tentang eslint dan lebih cantiksebagai contoh. IDE juga dapat menyarankan perubahan. Jika Anda terbiasa menulis java 1.4, Anda menginstal java 1.8, IntelliJ akan menawarkan tips tentang cara menulis kode dengan fitur-fitur baru (stream, ...). Bagian terakhir adalah algoritma, karya pengembang dan di sini ini lebih merupakan pengalaman berbicara. Jangan ragu-ragu untuk melihat proyek yang sudah dikenal dan diperbarui. Ada begitu banyak cara untuk menulis algoritme dan tidak selalu ada cara terbaik untuk melakukannya.
Bagaimana Anda menilai kemahiran dan keahlian yang diperlukan untuk memperbaiki bug/ mengimplementasikan fitur tambahan?
Semakin rumit sebuah proyek adalah semakin banyak keahlian yang dibutuhkan, tetapi jika sebuah kontribusi hanya menambah banyak template HTML, Anda tidak perlu menjadi ahli untuk menghasilkan kode berkualitas baik. Mari kita ambil contoh JavaScript. Jika Anda berurusan dengan ReactJS, Redux, RxjS dan database seperti PostgreSQL atau MongoDB dan kemudian Anda menambahkan buruh pelabuhan, dll. Ini mulai membutuhkan banyak pengetahuan dasar tentang beberapa teknologi. Atau untuk Java jika Anda memiliki SpringMVC, Spring Security, Maven, Hibernate, Anda menambahkan sedikit AngularJS dan tes unit dengan JUnit, sekali lagi ini adalah berbagai macam hal yang perlu diketahui. Jadi jika kontribusi Anda menggunakan sedikit dari semuanya maka Anda akan mendapatkan skor tinggi!
Bagaimana Anda menilai akurasi dan keterbacaan pesan-pesan komit?
Di sini cukup mudah untuk memiliki skor tinggi. Hindari mengirim pesan seperti"perbaikan kecil, tambahkan CSS, tambahkan barang,oup,tambahkan banyak fitur".Sebaliknya jangan ragu untuk membagi komitmen Anda menjadi yang berarti.Katakanlah Anda menambahkan fitur CRUD keseluruhan, commit Anda dapat dibagi seperti itu:
"Tambahkan paket X", "Tambahkan titik akhir API CRUD", "Tambahkan tes unit", "Perbaiki bug untuk masalahX", "Tambahkan laman CRUD", "Tambahkan tes lelucon atau tes E2E", "Perbaiki masalah CSS untuk XXX" , "Tambahkan responsif ke halaman CRUD"
Dan begitulah. Riwayat commit membantu kami memahami bagaimana pengembang melakukan fitur-nya. Kita tahu kode apa yang diharapkan dalam setiap commit. Jadi, skor teratas! Di sini saya memiliki contoh yang bagus: kontribusi ini dan permintaan tarik ini . Anda dapat melihat riwayat komit yang jelas.
Bagaimana Anda menilai kualitas komentar dalam kode?
Pertanyaan terakhir ini telah menimbulkan banyak masalah. Saya telah melihat banyak komentar yang tidak berguna. Tujuan dari komentar adalah untuk membantu dengan cepat memahami sebagian dari kode. Jadi ketika saya melihat sesuatu seperti ini saya menjadi marah. Beberapa komentar yang saya temukan tidak berguna (maaf guys).Contoh 1 ,contoh 2
//Get the user profile
const profile=await Profile.findOne({ userId });
Anda harus mengomentari deklarasi fungsi misalnya.Berikut ini contoh acak.
Process the invoice received.
If the invoice is paid ship the product
otherwise send an email to the user and back-office
@param user application client
@param invoice product invoice
function processInvoice(user, invoice){ }
atau bagian dari kode yang rumit
Explain the content of what it's done because if someone new (or the 6 month later you) read it, it will take a few minutes to understand
if (somevar===somestuff){complicated code}
Dan bagaimana jika saya tidak berkomentar apa pun karena proyek saya mudah? Yah Anda mungkin akan memiliki skor yang lebih rendah tetapi itu tidak berarti Anda tidak akan dipilih oleh staf dan memiliki imbalan maksimal.
Pendeknya
1.Luangkan waktu Anda untuk menulis artikel Anda, jadilah salesman dan tawarkan kepada semua orang (bukan hanya moderator utopis) sesuatu yang bagus untuk dibaca.
2.Jangan posting beberapa kontribusi kecil. Hadiah meningkat secara eksponensial sehingga kontribusi yang ditulis dengan baik akan memiliki skor yang lebih besar daripada 3 yang rata-rata.
3.Cobalah up to date dalam bahasa yang Anda pilih, baca artikel tentang praktik terbaik, pola desain,
4.Sederhanakan pekerjaan Anda dan coba mengotomatiskan beberapa tugas (format kode,)
Saya harap artikel kecil ini akan membantu mendapatkan hadiah yang lebih baik dan saya berharap dapat melihat kontribusi luar biasa di masa depan. Mungkin kita harus bertarung di antara moderator untuk kontribusi staf yang dipilih. Siapa tahu?
REFERENCE
TERIMAKASIH UNTUK SEMUA