摘要:命名命名采取駝峰式,例如和大寫,不要使用下劃線。在開發過程中最常見異常的就是。但與函數不同的是函數以代碼行數統計,而類以權責統計。第二原則是高內聚低耦合。
命名
命名采取駝峰式,例如:AccountName,“A”和“N”大寫,不要使用下劃線。
命名包括變量、函數、參數,類等命名要能很好的表述其承載的業務。
要名副其實,不存在歧義,要直截了當。
例子:
函數和參數
public AccountEntity QueryAccountDetailById(int accountId):根據用戶ID獲取用戶詳情
變量
int uncheckProductAmount:未確認的產品數量(注:變量首字母小寫)
類
public class AccountCacheBiz:用戶緩存邏輯類(注:Biz表示業務邏輯)
函數一個函數在于短小精悍,只作一件事情,并做好這件事。
只做一件事才能得到更好的利用函數名表述自己。
函數的參數應該足夠的少,無最好,一次之,再次為二,盡量避免三個以及三個以上。
對于太多的參數可能該采用IntroduceParameterObject(引入參數對象)。
杜絕重復代碼,不要對一段代碼進行拷貝操作,這樣意味著日后維護需要更新多個地方,肯定會出現遺漏,留下隱患。
避免返回NULL。
在開發過程中最常見異常的就是NullReferenceException。
在非特定場景下,要極力的避免返回null。
面對這種場景可以采用null object Pattern(空對象模式)返回特例對象。
如c#類庫中的Guid.Empty,string.Empty。
對于集合類型我們可以返回長度0的空集合而非null。
類第一原則應是是小并足夠的小。但與函數不同的是函數以代碼行數統計,而類以權責統計。
第二原則是:高內聚低耦合。
類需加上大致說明注釋,例如:
///
/// DiYi ERP用戶業務類
/// 第一版
/// 李偉
/// 2017/4/6
///
public class UserBiz{
/* INNER CODE */
}
復雜邏輯需要加上業務邏輯的注釋,例如:
///
/// 查詢用戶分頁數據
///
/// 分頁查詢參數,包括索引和單頁顯示數量
/// 總數,為輸出參數
///
public DataTable QueryPagedUserDataTable(PagedParam pagedParam,out int totalAmount)
{
/* INNER CODE */
}
一組方法需加上#Region,生成注釋塊,例如:
/#region FineUI通知對話框顯示
///
/// 顯示通知對話框
///
///
public virtual void ShowNotify(string message)
{
ShowNotify(message, MessageBoxIcon.Information);
}
///
/// 顯示通知對話框
///
///
///
public virtual void ShowNotify(string message, MessageBoxIcon messageIcon)
{
ShowNotify(message, messageIcon, Target.Top);
}
///
/// 顯示通知對話框
///
///
///
///
public virtual void ShowNotify(string message, MessageBoxIcon messageIcon, Target target)
{
Notify n = new Notify(); n.Target = target; n.Message = message; n.MessageBoxIcon = messageIcon; n.PositionX = Position.Center; n.PositionY = Position.Top; n.DisplayMilliseconds = 3000; n.ShowHeader = false; n.Show();
}
/#endregion
DD
ReSharper一款VS插件,可以幫助開發者編寫出更干凈整潔的代碼,去除一些定義了卻不使用的變量,自動給出命名建議,一鍵應用未引用的命名空間等等。
2017/4/27 V0.1
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82748.html
摘要:自動化接入和升級方案通過命令行工具提供一鍵接入升級能力,同時集成到團隊腳手架中,大大降低了工程接入和維護的成本。原始代碼經過解析器的解析,在管道中逐一經過所有規則的檢查,最終檢測出所有不符合規范的代碼,并輸出為報告。 引言 代碼規范是軟件開發領域經久不衰的話題,幾乎所有工程師在開發過程中都會遇到,并或多或少會思考過這一問題。隨著前端應用的大型化和復雜化,越來越多的前端工程師和團隊開始重...
摘要:容器云架構方案。容器云架構方案基于容器技術,運維技術團隊開發了五阿哥網站的容器云平臺。多云對接私有云和公有云進行統一托管,包含網絡區域配置,實例開通及的環境初始化配置等。技術選型及實踐鏡像標準眾所周知,的鏡像是分層的。 前言 五阿哥鋼鐵電商平臺(www.wuage.com)是由鋼鐵行業第一的中國五礦與互聯網第一的阿里巴巴聯手打造,并充分運用雙方股東優勢資源,即:阿里巴巴在大數據、電商運...
摘要:導語鹿晗關曉彤公布戀情,造成微博服務短暫不可用。業務運維團隊負責業務的整體運維,包括業務規劃架構部署容災演練節假日保障等整體協作性工作。 作者:李雄政,10年+ 證券、電信、互聯網領域開發、系統集成、運維經驗。 現任騰訊高級工程師,負責社交平臺業務運維組管理工作。 導語:鹿晗關曉彤公布戀情,造成微博服務短暫不可用。相關的運維們也不得不提前結束國慶假期,執行各種緊急擴容預案。 而騰訊S...
摘要:年,和前端開發者與應用程序前端開發者之間產生了巨大的分歧。開發最常見的解決方案有手機和平板的原生應用程序桌面應用程序桌面應用程序原生技術最后,前端開發者可以從瀏覽器開發中學習到,編寫代碼不需要考慮瀏覽器引擎的限制。 前端開發者手冊2019 Cody Lindley 編著 原文地址 本手冊由Frontend Masters贊助,通過深入現代化的前端工程課程來提高你的技能。 下載:PDF ...
閱讀 1419·2021-09-22 15:52
閱讀 1459·2019-08-30 15:44
閱讀 895·2019-08-30 14:24
閱讀 2705·2019-08-30 13:06
閱讀 2700·2019-08-26 13:45
閱讀 2782·2019-08-26 13:43
閱讀 1015·2019-08-26 12:01
閱讀 1436·2019-08-26 11:56