2008-11-07 37 views
2

我的任務是編寫我們部門的C#編程標準(包括指南)。我應該包括哪些標準/指南?我已經從網絡上的各種標準(以及代碼完成中的部分代碼)中汲取了一些經驗,但我希望聽到這個領域的開發人員的意見。C#編程標準應包含哪些內容?

我已經有了: 命名約定 - 一般/變量/類/方法/接口/控制

通用編程實踐 - 文件(意見等),[WIP]

OO編程實踐 - 封裝,[WIP]

還有什麼用?我不應該包括什麼?

回答

7

您是否已經建議大家閱讀「Design Guidelines for Class Library Developers」?這涵蓋了它的大部分。除此之外,我想錘回家:

  • 你應該很少創建自己的結構。不要認爲它們是輕量級的。
  • 結構不應該是可變的。
  • 字段應該始終是私有的,除了只讀字段,其中字段的類型是不可改變的
  • 只嘗試無鎖編程,如果你確信一個簡單的解決方案將是太慢了 - 而且有證據!
  • 可讀性爲王
  • 注意的文化問題 - 尤其是閱讀微軟的String Handling Recommendations

我來補充,因爲我覺得他們更多...

2

如何處理的命名空間信息,組裝/項目/解決方案命名約定,文件的命名規則..分組項目(例如你的項目和項目是否都在同一個文件中?)

  • 文件名準則
  • 命名空間命名/組織的準則
  • 設計&架構的指導方針,如使用接口來創建蝨子coupeling並且使單元測試eaiser(用於如依賴注入和嘲弄)
  • 請教時,事情應該是重構(長方法等)
  • 命名和外殼的參數
  • 單元測試(如果使用的話)和嘲諷項目
  • 分組(例如您的
  • 指南同時包含通用和非generi c實現一個類是否按照命名約定在相同的文件或單獨的文件中進行?)
  • 如何處理第三方依賴
  • 促進使用類似的FxCop,了StyleCop和其他指標

從我頭上

1

指南上最大方法的頂部只是一對夫婦的事情工具長度,最大類大小和源文件中的最大loc是有用的。

此外,您可以設置縮進和代碼佈局和內容的一些準則,但我發現它更容易只是在Visual Studio設置做到這一點,然後讓開發商導入相同的設置文件這一點。這樣人們就不必考慮這個問題,視覺工作室就爲他們完成工作。

最佳實踐可以自動太受的FxCop和類似的工具來檢查。因此,僅通過使FXCop文件可用來分發您關心的所有規則,就可以分發有關指南。不要在一個大的現有的代碼庫引進大的FxCop檢查,但嘗試爬升經過一段時間的檢查,所以人們不得到與FxCop的錯誤,1000年

總之擊:

儘量保持準則總之,只包括那些非常重要的事情。使他們很容易閱讀(你可以寫命名約定作爲一個例子一流例如當您高亮顯示所有與文本一些額外的框的規則),並使用工具來自動檢查,在那裏你可以使開發商獲得的容易和早期反饋。

相關問題