Saya baru-baru ini melihat bahwa Microsoft merilis dokumen standar pengkodean ( All-In-One Code Framework Standar Pengkodean ) dan itu membuat saya berpikir ... Perusahaan tempat saya bekerja tidak memiliki standar pengkodean formal sama sekali. Hanya ada beberapa pengembang dan kami telah bersama cukup lama untuk berevolusi menjadi gaya yang serupa dan tidak pernah menjadi masalah.
Apakah perusahaan tempat Anda bekerja memiliki standar pengkodean yang terdokumentasi? Jika tidak, mengapa tidak? Apakah memiliki standar membuat perbedaan? Apakah layak menulis standar dari awal atau haruskah Anda mengadopsi standar lain sebagai milik Anda (mis., Menjadikan standar Microsoft sebagai milik Anda)?
coding
coding-standards
Walter
sumber
sumber
Jawaban:
Penting bagi tim untuk memiliki standar pengkodean tunggal untuk setiap bahasa untuk menghindari beberapa masalah:
Saya penggemar berat apa yang dikatakan Paman Bob tentang standar:
sumber
Saya pikir sangat penting untuk memiliki standar pengkodean, bahkan jika semua yang dikatakannya adalah "kita menggunakan lekukan 3-ruang dan tanda kurung buka ke baris berikutnya." Beberapa manfaat:
Dalam hal apakah akan mengadopsi standar yang ada, itu tidak terlalu penting - konsistensi adalah yang penting. Jika pengembang Anda memiliki selusin gaya yang berbeda, Anda mungkin juga memilih yang sudah ada, diterbitkan. Jika Anda semua telah berevolusi menjadi gaya yang cukup konsisten, tulis saja dan gunakan itu.
sumber
Saya tidak setuju dengan "kami toko X" jadi kami memformat kode kami dalam semua bahasa dengan cara yang sama.
Secara pribadi saya telah menemukan bahwa sebagian besar bahasa memiliki gaya penerimaan yang berbeda.
Saya sangat tidak tahan ketika programmer C menulis kode Java dengan format C. Tidak hanya tidak terlihat seperti Java, tetapi juga membodohi mereka dengan berpikir bahwa mereka dapat menggunakan praktik mirip-C lainnya di Jawa.
Saya pikir jika Anda memiliki standar itu harus per bahasa
sumber
Mantan majikan saya memiliki standar pengkodean. Saya sedang mempertimbangkan untuk secara resmi mendokumentasikan satu untuk saya sendiri.
Atau, seperti yang Anda sarankan, menemukan standar yang ada yang layak dan memodifikasi / mengadopsi itu. Untuk sebuah perusahaan, saya pasti akan menyarankan agar mereka melihat standar pengkodean yang ada, tetapi membuat / memodifikasi satu untuk kebutuhan khusus mereka sendiri. Tidak perlu membuat dari awal, tetapi harus berhati-hati untuk memastikan bahwa standar pengkodean masuk akal untuk jenis perangkat lunak yang dibuat perusahaan.
Ya, memiliki standar pengkodean membuat perbedaan, tetapi itu bukan peluru perak. Kode lebih terbaca karena tidak ada banyak gaya yang berbenturan dan beberapa kesalahan umum dapat dihindari. Bahkan dengan standar Anda akan memiliki beberapa variasi dalam gaya pengkodean, tetapi variabilitas itu akan berkurang. Tujuannya bukan untuk mencoba menghindari semua variasi atau bersiap untuk setiap situasi yang mungkin. Terlalu rumit standar pengkodean bisa lebih buruk daripada tidak sama sekali.
sumber
Sayangnya tidak. Jadi setiap orang memiliki caranya sendiri untuk menggunakan spasi, lekukan, dan sebagainya, semuanya tercampur (dengan cara ini kita bahkan tidak harus menggunakan fungsi "menyalahkan" untuk mengetahui siapa yang merupakan pembuat sebaris kode!)
Tetapi, yang terburuk, seseorang menulis nama variabel dan kelas dalam bahasa Italia, orang lain dalam bahasa Inggris ...
Saya selalu menyesuaikan gaya saya dengan bahasa, perpustakaan, dan kerangka kerja yang saya gunakan, sehingga kode sumber terlihat seragam dan polos.
sumber
Perlu diingat bahwa ini adalah dokumen standar pengkodean yang khusus untuk Kerangka Kode All-In-One.
Saya telah bekerja di berbagai perusahaan, beberapa di antaranya memiliki standar yang ada dan beberapa (sebagian besar) di antaranya saya membantu mengembangkan standar. Untuk sebagian besar, jika Anda melakukan pengembangan berbasis .NET (dan bahkan jika Anda tidak, sebagian besar aturan masih berlaku) Anda harus melihat pada Pedoman Desain Kerangka . Meskipun ini khusus untuk menulis API yang menghadap publik, sebagian besar pedoman berlaku sama baiknya untuk kode apa pun.
Perhatian terbesar dengan standar kode adalah menjaganya agar tetap sederhana dan mudah. Anda ingin pengembang dapat menginternalisasi pedoman yang disajikan, sehingga memberi mereka dokumen lebih dari 50 halaman tidak berguna. Anda masih dapat membuat dokumen itu jika Anda ingin memberikan latar belakang, contoh, dll. Tetapi Anda juga ingin sesuatu yang bermuara pada seperangkat pedoman bulletted. Standar pengkodean Anda juga harus fleksibel, dokumen hidup yang perlu diubah seiring perubahan teknologi.
sumber
Diskusi Pengodean Standar membahas hal ini:
Jika Anda berkembang dalam C # di Visual Studio, maka StyleCop adalah peluru perak. Jika Anda juga menggunakan ReSharper, maka plugin StyleCop untuk ReSharper sangat luar biasa.
sumber
Kami adalah toko blub, jadi kami menggunakan konvensi pemrograman blub.
Sekarang Paul Graham dan teman-temannya jauh lebih pintar dari kita, tetapi kita programmer blub, kita semua bisa saling membaca blub, pada kenyataannya, setiap programmer blub dapat membaca kode blub kita.
Faktanya, karena desain blub, setiap programmer blub dapat membaca file blub tunggal dan memahaminya, karena blub tidak memiliki sistem makro.
Jika kita memprogram dalam katakanlah, C atau C ++ (kita semua multibahasa, meskipun kita memprogram di blub) kita menggunakan sebagian besar gaya blub untuk kode baru, atau untuk hal-hal sumber terbuka, standar dari proyek yang sedang kita kerjakan.
sumber
Anda memerlukan satu standar. Saya telah melihat standar berbeda di berbagai sudut aplikasi yang memiliki lead berbeda yang semuanya ingin melakukannya dengan "cara mereka". Mungkin konsep "standar" disalahpahami. Sangat gila. Dan, standar terburuk dihasilkan oleh satu orang. Tidak masalah siapa orang itu, jika satu orang saja yang mengembangkan standar, itu hampir pasti buruk.
sumber
Ini dapat membantu orang, juga dapat sangat membantu dengan alat:
Jika Anda ingin dapat menggunakan pemformatan kode otomatis apa pun, Anda benar-benar harus membakukan aturan yang akan digunakan, jika tidak, Anda akan selalu mendapatkan banyak perubahan pemformatan yang tidak berarti yang mengacaukan diff Anda.
Aturan default yang ditetapkan untuk alat analisis statis mungkin memeriksa gaya penamaan tertentu, dan mungkin lebih mudah untuk menyesuaikan dengan itu kemudian menulis banyak aturan baru. (kecuali jika Anda hanya mematikan aturan sama sekali)
terakhir adalah baik untuk menstandarkan apa pun yang perlu dikonsultasikan dengan seseorang di luar tim Anda. yaitu Anda mungkin ingin pemberitahuan hak cipta standar di header Anda karena Anda tidak ingin menjalankan setiap file baru yang Anda tulis melewati tim hukum perusahaan Anda, dan Anda tentu ingin mendapatkan nama-nama API publik apa pun dengan benar saat pertama kali
sumber