色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

寫出優(yōu)雅簡(jiǎn)明代碼的論題集 -- Csharp(C#)篇[1]

  最近和一些朋友討論如何寫出優(yōu)雅的代碼,我們都很喜歡C#,所以以C#為例。主要一共有三位程序員在一起討論,為簡(jiǎn)單起見我用ABC代表我們?nèi)齻€(gè)人。

  有時(shí)候我們會(huì)針對(duì)一些代碼進(jìn)行討論,有時(shí)候我們會(huì)提出一些觀點(diǎn),有時(shí)候我們會(huì)一起學(xué)習(xí)網(wǎng)上一些現(xiàn)有的博客,為了便于大家引用,我給每一個(gè)論題都編上號(hào)。

  在很多情況下,我們的意見統(tǒng)一,那么我會(huì)給大家呈現(xiàn)我們的結(jié)論;但是有些情況我們有分歧。

  你可以加入我們的討論,我非常也希望能夠獲知你的意見,讓我們一起茁壯成長(zhǎng)!

  好吧,讓我們今天就開始。

  論題一:函數(shù)越小越好!

象鼠  相信絕大部分程序員會(huì)認(rèn)同這一點(diǎn),維護(hù)一個(gè)超過100行的函數(shù)會(huì)讓人抓狂。

  我記得我以前修改過一個(gè)用cobol寫的程序,一個(gè)文件超過10萬行,我為了進(jìn)行一個(gè)極其小的修改花了3天的時(shí)間,而且最后自己也不知道會(huì)不會(huì)造成什么嚴(yán)重的后果。-- 這已經(jīng)過去8年了,希望那段代碼運(yùn)行良好。

  到底理想狀態(tài)下,我們的函數(shù)應(yīng)該不大于多少行?我們?nèi)齻€(gè)人的答案是:

  A: 10 行

  B: 15 行

  C: 20 行

  論題二:用 Linq 簡(jiǎn)化代碼

  Linq有時(shí)可以幫助我們寫出一些非常“人性”的語句。

  下面的這個(gè)函數(shù)是用于在數(shù)據(jù)庫中插入新的評(píng)論:

public static void Create(IEnumerable<CommentData> Comments, SqlConnection cn)
{
// validate params
if (null == cn) throw new ArgumentNullException("cn");
if (cn.State != ConnectionState.Open) throw new ArgumentException("Invalid parameter: connection is not open.", "cn");
if (null == Comments) throw new ArgumentNullException("Comments");
foreach (CommentData data in Comments)
{
if (data.CommentId.HasValue)
throw new ArgumentNullException("Create is only for saving new data. Call save for existing data.", "data");
}
...

NET技術(shù)寫出優(yōu)雅簡(jiǎn)明代碼的論題集 -- Csharp(C#)篇[1],轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 五常市| 乌拉特后旗| 成都市| 大石桥市| 台北市| 昌平区| 嘉善县| 襄汾县| 界首市| 年辖:市辖区| 安多县| 石家庄市| 西丰县| 论坛| 鄢陵县| 虎林市| 科尔| 苍山县| 嘉善县| 曲水县| 双辽市| 惠来县| 扎鲁特旗| 宁陵县| 泸定县| 陇南市| 鸡泽县| 怀安县| 微山县| 息烽县| 宜兰市| 彰化县| 安图县| 五常市| 肃北| 甘谷县| 佛教| 桑植县| 永顺县| 宽甸| 塔河县|