写出优雅简明代码的论题集 -- Csharp(C#)篇[1]

  最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢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],转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。