Ruang nama yang didefinisikan dengan jelas. Karena C adalah bahasa utama saya, saya juga ingin makro cocok dengan ini. Menyelesaikan konflik di daerah itu menyebalkan.
Jika Anda mengalokasikan sesuatu, beri saya petunjuk yang jelas bahwa itu harus dibebaskan. Ini masuk ke poin saya berikutnya, yaitu dokumentasi.
Dokumentasikan perpustakaan. Alat-alat seperti Doxygen sederhana dan portabel, tidak ada alasan untuk tidak memberi saya sesuatu yang dapat saya hasilkan dan jelajahi.
Jenis dokumen buram di header publik. Aku akan tetap menemukan mereka, katakan padaku mengapa kamu tidak ingin aku mengacaukan mereka dan apa yang bisa terjadi jika aku melakukannya. Jika Anda benar-benar menginginkan tambalan, saya perlu tahu apa yang Anda pikirkan.
Jangan jatuh dan lari. Saya sangat menghargai komentar seperti "Tolong, jangan hubungi saya tentang ini. Saya tidak punya niat untuk mempertahankannya. Ini memecahkan masalah langsung saya, mungkin itu akan menyelesaikan masalah Anda. Saya tidak peduli, saya tidak akan memperbarui ini dan Anda dapat merasa bebas untuk membayarnya. " Saya tidak bisa memberi tahu Anda berapa banyak waktu yang menyelamatkan saya.
Seharusnya tidak ada kebocoran memori atau kesalahan pada kode yang ada. Jika Anda tidak menguji sebelum mendorong barang ke kode Anda sendiri, mengapa Anda tergoda untuk mendorongnya ke saya?
Jika memang perpustakaan, gunakan lisensi yang permisif dan konsisten. Jangan putuskan tiga bulan dari sekarang bahwa Anda seharusnya menghasilkan lebih banyak uang darinya. Itu sangat mengganggu malam sebelum Anda mengirimkan sesuatu dan menyadari bahwa Anda harus menulis ulang banyak kode perpustakaan karena lisensi berubah. Persis seperti itulah yang membuat saya cukup jengkel untuk mengimplementasikan kembali barang-barang Anda di bawah lisensi MIT.
Konsisten dalam gaya pengkodean, orang lain harus membaca kode Anda untuk mengetahui apa yang sebenarnya dilakukan ketika hal-hal tidak berfungsi seperti yang diharapkan.
Jangan gunakan lebih dari 110 kolom, kode Anda mungkin harus diedit, dan saya mungkin hanya memiliki tampilan 80x25. Jika Anda mengandalkan tab untuk membuat hal-hal terlihat lebih 'elegan', Anda memiliki masalah lain untuk dipecahkan.
Cobalah untuk setidaknya mempertimbangkan port, jika tidak berurusan dengan bahasa yang ditafsirkan. Meskipun begitu, cobalah untuk setidaknya mempertimbangkan port.
Beri aku tes. Saya harap Anda memilikinya, saya mungkin menyarankan mereka sebaliknya dan saya mungkin benar-benar membantu menulisnya berdasarkan grafik panggilan. Jika saya mengalami semua masalah itu, silakan gunakan . Jika tidak, Anda mendapatkan tambalan yang "berfungsi untuk saya !!!" :)
Jangan merusak API, titik. Saya tahu Anda mungkin menyadari bahwa Anda salah menjalankan semua itu, tetapi pastikan hal-hal yang tertaut ke Anda tidak akan terputus pada pembaruan sederhana. Itu mungkin berarti beberapa cruft dan kludges, selamat datang di dunia perpustakaan.
Berikan saya peta jalan sehingga saya tidak menduplikasi pekerjaan Anda, atau pekerjaan orang lain.
Saya mungkin akan mengedit posting ini untuk menambahkan lebih banyak.