|
最近和一些朋友討論如何寫出優雅的代碼,我們都很喜歡C#,所以以C#為例。主要一共有三位程序員在一起討論,為簡單起見我用ABC代表我們三個人。
有時候我們會針對一些代碼進行討論,有時候我們會提出一些觀點,有時候我們會一起學習網上一些現有的博客,為了便于大家引用,我給每一個論題都編上號。
在很多情況下,我們的意見統一,那么我會給大家呈現我們的結論;但是有些情況我們有分歧。
你可以加入我們的討論,我非常也希望能夠獲知你的意見,讓我們一起茁壯成長!
好吧,讓我們今天就開始。
論題一:函數越小越好!
相信絕大部分程序員會認同這一點,維護一個超過100行的函數會讓人抓狂。
我記得我以前修改過一個用cobol寫的程序,一個文件超過10萬行,我為了進行一個極其小的修改花了3天的時間,而且最后自己也不知道會不會造成什么嚴重的后果。-- 這已經過去8年了,希望那段代碼運行良好。
到底理想狀態下,我們的函數應該不大于多少行?我們三個人的答案是:
A: 10 行
B: 15 行
C: 20 行
論題二:用 Linq 簡化代碼
Linq有時可以幫助我們寫出一些非常“人性”的語句。
下面的這個函數是用于在數據庫中插入新的評論:
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技術:寫出優雅簡明代碼的論題集 -- Csharp(C#)篇[1],轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。