Saya lulusan AI baru-baru ini (sekitar 2 tahun) bekerja untuk operasi sederhana. Itu telah jatuh kepada saya (terutama karena saya 'adopter' pertama di departemen) untuk membuat dokumen standar standar C # coding (baca berguna?).
Saya pikir saya harus menjelaskan bahwa saya mungkin adalah insinyur perangkat lunak paling junior, tapi saya menantikan tugas ini karena mudah-mudahan saya benar-benar dapat menghasilkan sesuatu yang setengah dapat digunakan. Saya telah melakukan pencarian Internet yang cukup luas dan membaca artikel tentang apa yang seharusnya / tidak seharusnya berisi dokumen standar pengkodean. Ini sepertinya tempat yang bagus untuk meminta saran.
Saya menyadari bahwa saya berpotensi membuka pintu bagi seluruh dunia ketidaksetujuan tentang 'cara terbaik untuk melakukan sesuatu'. Saya sama-sama memahami dan menghormati fakta yang tak terbantahkan bahwa setiap programmer memiliki metode yang disukai untuk menyelesaikan setiap tugas individu, sebagai hasilnya saya tidak ingin menulis apa pun yang begitu proskriptif untuk melumpuhkan bakat pribadi tetapi untuk mencoba dan mendapatkan metodologi umum dan setuju standar (misalnya konvensi penamaan) untuk membantu membuat kode individu lebih mudah dibaca.
Jadi begini .... ada saran? Ada sama sekali?
p_strName
- membuatnya 10% lebih menyakitkan ketika Anda dipaksa untuk bekerja dengan kekejian seperti itu. : oSaya akan menambahkan Kode Lengkap 2 ke daftar (Saya tahu Jeff adalah penggemar di sini) ... Jika Anda adalah pengembang junior, buku ini berguna untuk mengatur pikiran Anda dengan cara yang menetapkan dasar untuk yang terbaik praktik penulisan kode dan pembuatan perangkat lunak ada.
Saya harus mengatakan bahwa saya sedikit terlambat dalam karir saya, tetapi itu mengatur banyak cara saya berpikir tentang pengkodean dan pengembangan kerangka kerja dalam kehidupan profesional saya.
Perlu dicoba;)
sumber
Aturan Microsoft sendiri adalah titik awal yang sangat baik. Anda dapat menerapkannya dengan FxCop.
sumber
Saya akan tergoda untuk menerapkan Microsoft StyleCop sebagai standar. Itu dapat diberlakukan pada saat membangun. tetapi jika Anda memiliki kode lama maka cukup gunakan StyleCop pada kode baru.
http://code.msdn.microsoft.com/sourceanalysis
Akhirnya ia akan memiliki opsi refactor untuk membersihkan kode.
http://blogs.msdn.com/sourceanalysis/
sumber
Secara pribadi saya suka yang disatukan IDesign . Tapi bukan itu sebabnya saya memposting ...
Bagian yang sulit di perusahaan saya adalah memperhitungkan semua bahasa yang berbeda. Dan saya tahu perusahaan saya tidak sendirian dalam hal ini. Kami menggunakan C #, C, rakitan (kami membuat perangkat), SQL, XAML, dll. Meskipun akan ada beberapa kesamaan dalam standar, masing-masing biasanya ditangani secara berbeda.
Juga, saya percaya bahwa standar tingkat yang lebih tinggi memiliki dampak yang lebih besar pada kualitas produk akhir. Misalnya: bagaimana dan kapan menggunakan komentar, kapan pengecualian wajib (misalnya acara yang diprakarsai pengguna), apakah (atau kapan) menggunakan pengecualian vs nilai pengembalian, apa cara obyektif untuk menentukan apa yang harus menjadi kode pengontrol vs kode presentasi, dll. Jangan salah paham, standar level rendah juga diperlukan (format penting untuk keterbacaan!) Saya hanya memiliki bias terhadap struktur keseluruhan.
Bagian lain yang perlu diingat adalah dukungan dan penegakan. Standar pengkodean sangat bagus. Tetapi jika tidak ada yang setuju dengan mereka dan (mungkin lebih penting) tidak ada yang menegakkan mereka maka semuanya sia-sia.
sumber
Ketika saya menulis yang diterbitkan untuk Philips Medical Systems dan yang di http://csharpguidelines.codeplex.com saya mungkin sedikit bias, tetapi saya memiliki lebih dari 10 tahun dalam menulis, memelihara dan mempromosikan standar pengkodean. Saya sudah mencoba menulis satu CodePlex dengan perbedaan pendapat di pikiran dan menghabiskan sebagian besar pengantar tentang cara menghadapinya di organisasi khusus Anda. Baca dan berikan saya umpan balik .....
sumber
Aturan SSW
Ini mencakup beberapa standar C # + lebih banyak .... terutama berfokus pada pengembang Microsoft
sumber
Saya tidak setuju - selama dia membuat dokumen, hal terburuk yang dapat terjadi adalah bahwa dokumen itu dilupakan oleh semua orang.
Jika orang lain memiliki masalah dengan konten, maka Anda dapat meminta mereka untuk memperbaruinya untuk menunjukkan apa yang mereka inginkan. Dengan begitu, Anda tidak keberatan, dan yang lain memiliki tanggung jawab untuk membenarkan perubahan mereka.
sumber
Saya baru-baru ini menemukan Encodo C # Handbook , yang mencakup ide-ide dari banyak sumber lain (IDesign, Philips, MSDN).
Sumber lain mungkin Profesional C # / VB .NET Coding Guidelines .
sumber
Saya penggemar berat buku Francesco Balena " Pedoman Praktis dan Praktik Terbaik untuk Pengembang VB dan C # ".
Ini sangat rinci dan mencakup semua topik penting, Tidak hanya memberi Anda aturan, tetapi juga menjelaskan alasan di balik aturan tersebut, dan bahkan memberikan anti-aturan di mana mungkin ada dua praktik terbaik yang bertentangan. Satu-satunya downside adalah bahwa itu ditulis untuk pengembang .NET 1.1.
sumber
Seluruh standar pengodean kami berbunyi, "Gunakan StyleCop."
sumber
Lihat ini: http://www.noesispedia.com/post/2008/11/28/C-Coding-Guidelines-and-Best-Practices.aspx .
sumber
Saya harus menyarankan dokumen dotnetspider.com .
Ini adalah dokumen yang bagus dan terperinci yang berguna di mana saja.
sumber
Saya telah menggunakan Juval sebelumnya dan itu berhasil jika tidak berlebihan, tapi saya malas dan sekarang hanya sesuai dengan kehendak Resharper .
sumber
Anda dapat melihatnya, 7 Standar Pengkodean & Dokumen Pedoman Untuk Pengembang C # / .NET http://www.amazedsaint.com/2010/11/top-6-coding-standards-guideline.html harap ini membantu
sumber
Saya pikir saya menggemakan komentar lain di sini bahwa garis pedoman MS yang sudah ditautkan adalah titik awal yang sangat baik. Saya memodelkan kode saya sebagian besar pada mereka.
Yang menarik karena manajer saya telah mengatakan kepada saya di masa lalu bahwa dia tidak terlalu tertarik pada mereka: D
Anda memiliki tugas yang menyenangkan di depan Anda teman saya. Semoga berhasil, dan silakan tanyakan apakah Anda membutuhkan lebih banyak :)
sumber
Standar dari Philips Medical Systems ditulis dengan baik, dan sebagian besar mengikuti pedoman Microsoft: www.tiobe.com/content/paperinfo/gemrcsharpcs.pdf
Standar saya didasarkan pada ini dengan beberapa penyesuaian, dan beberapa pembaruan untuk .NET 2.0 (standar Philips ditulis untuk .NET 1.x jadi agak ketinggalan jaman).
sumber
Saya juga mengikuti Resharper. Juga garis panduan yang disebutkan di blog scott guthrie http://weblogs.asp.net/scottgu/archive/2007/10/08/october-8th-links-asp-net-asp-net-ajax-silverlight-and-net .aspx Dan http://csharpguidelines.codeplex.com/releases/view/46280
sumber
Dalam kode yang saya tulis, saya biasanya mengikuti .NET Framework Design Guidelines untuk API dan Mono Coding Guidelines yang terbuka untuk umum untuk casing dan indentasi anggota pribadi . Mono adalah implementasi open source dari .NET, dan saya pikir orang-orang tahu bisnis mereka.
Saya benci bagaimana kode Microsoft membuang-buang ruang:
Apa yang mungkin Anda temukan aneh dalam pedoman Mono, adalah bahwa mereka menggunakan tab 8-ruang. Namun, setelah beberapa latihan, saya menemukan bahwa itu sebenarnya membantu saya menulis kode yang kurang kusut dengan memberlakukan semacam batas indentasi.
Saya juga suka bagaimana mereka memberi ruang sebelum membuka tanda kurung.
Tapi tolong, jangan memaksakan hal seperti itu jika rekan kerja Anda tidak menyukainya (kecuali jika Anda bersedia berkontribusi untuk Mono ;-)
sumber