日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

好代码、坏代码之一

發布時間:2025/7/25 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好代码、坏代码之一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好代碼、壞代碼之一

1.命名很重要,讓代碼告訴你它自己

命名到底有多重要呢?

重要到這幾乎是很多軟件項目成功或者失敗的“罪魁禍首”,究其原因,代碼不光支撐了01在計算機系統中運行的業務邏輯,同時也是開發者進行交流與研究的標準語言。沒有意義或者有歧義的命名,就像兩個等待交流的人,面對了一堆火星文無從下口,讓交流變成災難,也就導致很多問題。

同時,好的命名是自說明的,讓代碼告訴開發者“我是誰,我做什么,我怎么做”。當然,除了靜態式的必要的注釋說明之外,動態式的代碼也可以包含傳遞信息的作用,讓代碼告訴你它自己,因為代碼是“活的代碼”。

例如,以某個緩存容器為例,泛型參數明確了容器的KeyValue的關系,其中的方法也基本明確了作為緩存容器所具有的方法:AddSetClearRefreshIsExist,而TryGetValueTry-Parse模式的應用體現。其中的變量container表示了容器載體;expiration表示了過期時間;config表示了容器的配置信息。

public?class?AtCache<TKey,?TValue>

{

????public?int?Count{ }

????public?List<TValue>?Items{ }

????public?int?Expiration?{ }

?

????public?void?Add(TKey?key,?TValue?value){ }

????public?void?Set(TKey?key,?TValue?value,?int?expiry){}

????public?bool?TryGetValue(TKey?key,?out?TValue?value){}

????public?void?Clear(){ }

????public?bool?IsExist(TKey?key){ }

????protected?void?Refresh(){ }

?

????private?ReaderWriterLockSlim?rwLocker?=?new?ReaderWriterLockSlim();

????private?Dictionary<TKey,?CacheItem<TKey,?TValue>>?container?=?new?Dictionary<TKey,?CacheItem<TKey,?TValue>>();

????private?int?expiration;

????private?DateTime?lastRefresh?=?DateTime.Now;

????private?IAtCacheConfiguration?config;

????private?List<TValue>?items;

}

總體來說,讓代碼告訴它自己,是好代碼的體現,而一堆沒有意義的代碼堆積是讓人無法接受和容忍的壞代碼。

2.遵守編碼規范

編碼規范,就是編碼最佳實踐,是前輩在編碼這件事上的積累和總結,是智慧的延續和工業的實踐。在軟件產業日益蓬勃的今天,軟件工業在于如何更有效率地進行生產這件事兒上,有了巨大的進步和積累,編碼規范正是如此。例如可以隨意列出很多的規范:

·? 命名規范。

·? 避免行數過多的方法。

·? 代碼縮進。

·? 異常規范。

·? 設計規范。

·? 注釋規范。

·? 文件的組織規范。

·? 配置規范。

·? 發布與部署規范。

·? 測試規范。

·? SQL規范。

在以上每個領域都有N條“法規”,以最佳實踐的條款被總結出來,每個條款都滲透著很多前人的智慧。同時,編碼規范的應用是有選擇和場合的,不同的軟件公司和產品,對編碼規范都有一定的理解和取舍。

但是,沒有規范的編碼,一定是有問題、潛伏著壞代碼的幽靈。

3.遵守命名規則

命名已經被反復強調了,遵守編碼規范首當其沖就是對于命名規范的遵守,對于命名規則,通常可選擇的體系主要有:

·? Pascal Casing,混合使用大小寫字母,每個單詞的首字母必須是大寫,例如FirstName

·? Camel Casing,混合使用大小寫字母,第一個單詞的首字母是小寫,其他單詞的首字母是大寫,例如firstName

·? 匈牙利命名法,通過屬性、類型和對象描述混合來表示,例如frmMainWindow,表示一個窗體實例的命名。

不過,對于不同的語言體系而言,一般有著不同的命名規范和體系,很多不同的語言對于命名規范的選擇也有差別。以C#語言為例,最基本的命名規則包括:

·? Pascal Casing風格定義命名空間、類及其成員、接口、方法、事件、枚舉等。

·? Camel Casing規范定義參數、私有成員。

·? 避免使用匈牙利命名法。

·? Attribute作為特性的后綴。

·? Delegate作為委托的后綴。

·? Exception作為異常的后綴。

當然,規范還有很多,而這種積累來自于平時對于代碼的理解和運用。

?

本文節選自《你必須知道的.NET(第2版)》一書

圖書詳細信息:http://www.cnblogs.com/broadview/archive/2011/08/09/2132689.html

?

轉載于:https://www.cnblogs.com/broadview/archive/2011/08/11/2135211.html

總結

以上是生活随笔為你收集整理的好代码、坏代码之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。