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

  谢谢大家对本系列第一篇写出优雅简明代码的论题集 -- Csharp(C#)篇[1]的回复和讨论,我相信针锋相对的辩论不仅有助于发现答案,更让我们了解问题后面的实质。

  对程序员而言,我们的代码需要:

  1. 在预算内实现需求,让用户可以使用 -- 让自己或者公司可以赚到钱

  2. 方便自己修改及日后维护

  3. 方便别人修改及日后维护

  4. 便于重复使用,为以后的开发节省时间

  5. 让系统高效的运作

  从美国商学院毕业的学生们掌握了很多相似的思维模式,这不仅有利于他们解决问题,更重要的是方便他们彼此之间沟通。-- 换句话说,他们毕业后都安装上了相同的协议和一些可通用的接口,这样有一个基础平台可以让他们协同工作。

  论题七:命名规范

  也许有人认为没有必要再提这个问题,但在日常编码生活中,这的确是一个很重要的话题。

  7.1  类名、方法、常数使用Pascal casing

public class MyClass

{

const int DefaultNumber = 100;

public void MyMethod()

{ }

}

  7.2 局部变量,参数用camel casing

partial void OnContactIdChanging(int value)

{

int number;

}

  7.3 interface 名字以I 开头

  7.4 尽量不用单个字符命名变量,象 i 或者 t 。使用 index 或者 temp 之类代替。

  7.5 将所有来自framework 的 namespace 放在前面,而后再放第三方或自定义的:

using System;

using System.Linq;

using System.Data.Linq;

using System.
Collections.Generic;

using System.Text;

using System.ComponentModel.DataAnnotations;

using CodeSmith.Data.Attributes;

using CodeSmith.Data.Rules;  论题八: 一个方法的参数不能超过5个,当多于5个时,应进行函数的拆分或者参数的封装。-- 嚯嚯就像论题一样的规定

  一些说明:不是为了给自己一个紧箍咒,而是在日常编程中,我们发现如果你写的方法不满足这样一个条件,一年后,就算是你自己也不太想去维护和修改,如果换成是其他程序员会对此更加的头痛,对吗?

  论题九: 不要滥用注释,有些非常清晰明确的代码不需要注释

  仅在必要的时候注释你的代码,不要太多,并且注释也要简单给力。

  论题十: 不要把数值hard-code在代码中,使用const 来定义  论题十一: 不要使用””, 使用string.Empty

  正确的:

string name = string.Empty;

  不建议:

string name = "";  论题十二: 善于合并if

  观察下面这段可爱的代码:

public bool Equals(CommentData obj) {

if (!CommentId.Equals(obj.CommentId)) return false;

if (!Comment.Equals(obj.Comment)) return false;

if (!CommentorId.Equals(obj.CommentorId)) return false;

return true;

}

  如果我们写成这样会不会好些呢:

public bool Equals(CommentData obj) {

return CommentId == obj.CommentId &&

Comment.Equals(obj.Comment) &&

CommentorId == obj.CommentorId;

}

  观察下面这段可爱的代码:

public bool Equals(CommentData obj) {

if (!CommentId.Equals(obj.CommentId)) return false;

if (!Comment.Equals(obj.Comment)) return false;

if (!CommentorId.Equals(obj.CommentorId)) return false;

return true;

}

  如果我们写成这样会不会好些呢:

public bool Equals(CommentData obj) {

return CommentId == obj.CommentId &&

Comment.Equals(obj.Comment) &&

CommentorId == obj.CommentorId;

}   论题十三: 不断重构你的代码

  当有新的需求或新改动的时候,可以拨一些时间来重构。 -- 你可能突然发现,原来重构后的代码可以如此美丽。使用一些重构的插件,比如resharper可以使你事半功倍。

  未完待继…

时间: 2024-10-25 23:10:54

写出优雅简明代码的论题集 -- Csharp(C#)篇[2]的相关文章

一起谈.NET技术,写出优雅简明代码的论题集 -- Csharp(C#)篇[2]

谢谢大家对本系列第一篇写出优雅简明代码的论题集 -- Csharp(C#)篇[1]的回复和讨论,我相信针锋相对的辩论不仅有助于发现答案,更让我们了解问题后面的实质. 对程序员而言,我们的代码需要: 1. 在预算内实现需求,让用户可以使用 -- 让自己或者公司可以赚到钱 2. 方便自己修改及日后维护 3. 方便别人修改及日后维护 4. 便于重复使用,为以后的开发节省时间 5. 让系统高效的运作 从美国商学院毕业的学生们掌握了很多相似的思维模式,这不仅有利于他们解决问题,更重要的是方便他们彼此之间沟

写出优雅简明代码的论题集 -- Csharp(C#)篇[2“.NET研究”]

谢谢大家对本系列第一篇写出优雅简明代码的论题集 -- Csharp(C#)篇[1]的回复和讨论,我相信针锋相对的辩论不仅有助于发现答案,更让我们了解问题后面的实质. 对程序员而言,我们的代码需要: 1. 在预算内实现需求,让用户可以使用 -- 让自己或者公司可以赚到钱 2. 方便自己修改及日后维护 3. 方便别人修改及日后维护 4. 便于重复使用,为以后的开发节省时间 5. 让系统高效的运作 从美国商学院毕业的学生们掌握了很多相似的思维模式,这不仅有利于他们解决问题,更重要的是方便他们彼此之间沟

一起谈.NET技术,写出优雅简明代码的论题集 -- Csharp(C#)篇[1]

最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢C#,所以以C#为例.主要一共有三位程序员在一起讨论,为简单起见我用ABC代表我们三个人. 有时候我们会针对一些代码进行讨论,有时候我们会提出一些观点,有时候我们会一起学习网上一些现有的博客,为了便于大家引用,我给每一个论题都编上号. 在很多情况下,我们的意见统一,那么我会给大家呈现我们的结论:但是有些情况我们有分歧. 你可以加入我们的讨论,我非常也希望能够获知你的意见,让我们一起茁壮成长! 好吧,让我们今天就开始. 论题一:函数越小越好! 相信

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

最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢C#,所以以C#为例.主要一共有三位程序员在一起讨论,为简单起见我用ABC代表我们三个人. 有时候我们会针对一些代码进行讨论,有时候我们会提出一些观点,有时候我们会一起学习网上一些现有的博客,为了便于大家引用,我给每一个论题都编上号. 在很多情况下,我们的意见统一,那么我会给大家呈现我们的结论:但是有些情况我们有分歧. 你可以加入我们的讨论,我非常也希望能够获知你的意见,让我们一起茁壮成长! 好吧,让我们今天就开始. 论题一:函数越小越好! 相信

写出优雅简明代码的论题集 -- Cshar“.NET研究”p(C#)篇[1]

最近和一些朋友讨论如何写出优雅的代码,我们都很喜欢C#,所以以C#为例.主要一共有三位程序员在一起讨论,为简单起见我用ABC代表我们三个人. 有时候我们会针对一些代码进行讨论,有时候我们会提出一些观点,有时候我们会一起学习网上一些现有的博客,为了便于大家引用,我给每一个论题都编上号. 在很多情况下,我们的意见统一,那么我会给大家呈现我们的结论:但是有些情况我们有分歧. 你可以加入我们的讨论,我非常也希望能够获知你的意见,让我们一起茁壮成长! 好吧,让我们今天就开始. 论题一:函数越小越好! 相信

怎样才能写出优秀的代码?

1.只有在需要的时候才使用PHP--Rasmus Lerdorf(PHP创始人) 不要什么事都让PHP来做,PHP只是一种工具,每一种语言都会有自身的限制当不能用PHP来解决时,不要害怕使用其他的语言 2.尽可能地在MySQL里多用表--Matt Mullenweg(wordpress创始人) 3.永远不要相信你的用户--Dave Child Dave Child是Added Bytes的创作者(前身:www.ilovejackdaniels.com).为好几门语言创建了cheat sheet(

如何写出无法维护的代码

这篇文章的原文在这里(http://mindprod.com/jgloss/unmain.html),我看完后我想说 什么叫"创造力",创造力就是就算是要干一件烂事都能干得那么漂亮那么有创意的能力. 什么叫"抓狂",抓狂就是以一种沉着老练的不屈不挠的一本正经的精神一点一点把你推向崩溃的边缘. 我把文章节选了一些,也并没有完全翻译,简译一下,也加入了一些自己的调侃.对于有下面这些编程习惯的朋友,请大家对号入座.另外,维护程序的朋友们,你们死定了!! If builde

如何用JAVA写出健壮的代码

问题描述 如何用JAVA写出健壮的代码来源:java私塾时间:2008-6-30这是一些相当不错的忠告!每个规则都很有分量!都是长期经验积累的总结,希望能对您有所帮助,使您编出高质量的JAVA代码.(1)类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写staticfinal基本类型标识符

【观点】如何写出无法维护的代码

导读:酷壳网的陈皓写了很多优秀的文章,这篇<如何写出无法维护的代码>相信一定能触动大家的兴奋点. 文章内容如下: 什么叫"创造力",创造力就是--就算是要干一件烂事,都能干得那么漂亮,那么有创意的能力. 什么叫"抓狂",抓狂就是--以一种沉着老练的不屈不挠的一本正经的精神,一点一点把你推向崩溃的边缘. 我把文章节选了一些,也并没有完全翻译,简译一下,也加入了一些自己的调侃.对于有下面这些编程习惯的朋友,请大家对号入座.另外,维护程序的朋友们,你们死定了!