国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C#方法封裝與重構(gòu)

2019-11-17 03:24:30
字體:
供稿:網(wǎng)友
C#方法封裝與重構(gòu)

C#作為一個(gè)完全面向?qū)ο蟮恼Z言,有個(gè)特性很重要但是往往會(huì)不重視,而不重視的結(jié)果就會(huì)造成代碼雜亂難以解讀、維護(hù)。這個(gè)特性就是封裝。

這里不是大談C#的封裝,我只講一個(gè),關(guān)于方法封裝的一些問題。 方法可以說是類或者對(duì)象的一些業(yè)務(wù)邏輯,那在什么情況下需要封裝成方法呢:
  1. 功能相對(duì)獨(dú)立
  2. 多處復(fù)用
  3. 一個(gè)方法體過于冗余或者實(shí)現(xiàn)邏輯過多
  4. 公開處理內(nèi)部數(shù)據(jù)接口(也可以用屬性)
如果滿足上面的任何一個(gè)條件,就可以考慮封成獨(dú)立的方法了,這里又涉及到一個(gè)概念——重構(gòu)。好的代碼都是重構(gòu)出來的,沒有誰能一步登天(起碼我們這些小菜鳥做不到)。代碼的雜亂很大一部分原因是由于作者的思維、邏輯混亂,復(fù)雜的問題簡(jiǎn)單化了,或者簡(jiǎn)單的問題復(fù)雜化了。所以重構(gòu)的第一步是要理清自己的邏輯,邏輯清楚了,算法自然就出來了,接下來做的就是把算法用代碼實(shí)現(xiàn)的問題了。 對(duì)于重構(gòu)有個(gè)原則:需而為之,不需而不為。重構(gòu)也不盡然都是好,畢竟一開始的想法很有可能是相當(dāng)不錯(cuò)的,如果要推翻,得有充足的理由,所以,重構(gòu)也是有成本的,很可能又引入一些新的bug也難說。就我個(gè)人而言,是個(gè)比較喜歡折騰的熊孩子,頂多折騰了半天回到原點(diǎn),不過折騰多了也會(huì)有些門道的。建議大家多折騰,丑話說在前頭,折騰前做好備份~ 這里也說一下對(duì)方法的要求,當(dāng)然是整潔的方法要求:
  1. 短小,盡量不要超過一屏
  2. 獨(dú)立,一個(gè)方法只做一件事
  3. 方法名要見名知意、風(fēng)格一致,前者讓人一看就知道方法做什么,后者別人可以推斷這個(gè)函數(shù)的作用
  4. 參數(shù)不要超過3個(gè),超過的話就提取為對(duì)象
這里參考了http://m.survivalescaperooms.com/oec2003/archive/2012/05/13/2741989.html,大家也可以去看看。  另外,大家在方法封裝上有什么心得或者必殺技也可以留言曬曬。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江津市| 鄢陵县| 离岛区| 乌兰县| 新津县| 青岛市| 贞丰县| 三台县| 安岳县| 磐石市| 临沧市| 鄂温| 龙海市| 含山县| 昌平区| 武山县| 阜平县| 福州市| 涿鹿县| 老河口市| 北海市| 南投县| 浏阳市| 宁波市| 栾城县| 武冈市| 龙江县| 仙游县| 松桃| 麻阳| 收藏| 凯里市| 涿州市| 务川| 莱芜市| 郁南县| 德江县| 莱芜市| 衢州市| 晋中市| 永清县|