《C#编程风格》还记得多少

简介:

开始实习之后,才发现自己是多么地菜。还有好多东西还要去学习。

公司很好,还可以帮你买书。有一天随口问了一下上司D,代码规范上面有什么要求。然后D在Amazon上面找到了这本书《C#编程风格(The Elements of C# Style)》(中英对照),让我直接买下开看,按上面的要求编写就可以了。书可以找秘书F去报销。

上个星期四在Amazon下单,周一才到。这书确实来的有点慢,没关系,我看的快。从周一到周五,用每天上下班在挤地铁(广州地铁你懂的)的时间,我把书在五个工作日就看完了。当然,关键是够薄。描述也相当简练。

以下是我看完还记得的部分:

1.空白

这个没啥好说的,意思就是该留空白的时候要果断留,不要怕浪费。空白有助于提高代码的可读性。

2.块

一般表示用大括号“{”和“}”括起来的部分。

3.驼峰法(小驼峰法)

变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如

int myStudentCount;

变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。

4.Pascal法(大驼峰法)

相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。常用于类名,函数名,属性,命名空间。譬如

public class DataBaseUser;

 

5.全局变量

一般惯例是加一个前缀或者后缀用于私有变量和局部变量。通常是用下划线“_”来标识。譬如

private int myStudentCount_;

 

下划线有加在前面的,也有加在后面的。个人比较习惯加在前面。

6.常量

常量通常用全大写,并用下划线来分割单词来标志。譬如

private int const STUDENT_COUNT=50;

 

7.switch

用switch的时候,无论case是否涵括了所有情况,都应该加上Default语句。很多时候结果是不再我们考虑范围内的。应该尽量涵盖所有情况。譬如

复制代码
switch(month)
{
    case 1:
        //...
        break;
    case 2:
        //...
        break;

    ...

    case 12:
        //code...
        break;
    default:
        //code...
        break;
}
复制代码

 

代码用于处理每个月的不同情况,虽然已经处理了十二个月的情况,但是代码还是加上了default用于以防万一,这是值得推荐的。

8.二元运算符

一般在二元运算符左右需要加一个空格。当然用VS的人一般都知道当你打出每一句代码的最后标志符“;”的时候,VS会自动处理代码,给二元运算符的左右加上一个空格。譬如

count = count + i;

 

可以发现在“=”和“+”左右都是有一个空格的。这样比起不加空格确实好看很多。不信,你别加试试。

9.条件语句

添加语句上面尽量不要用直接值。譬如

int count = 60;
if(count_ >= count)
{
    //code...
}

 

我们推荐这种做法,我们不推荐

if(count_ >= 60)
{
    //code...
}

 

这种做法。当要发生修改的时候,前者的价值就相当明显了。

10.使用别名

尽量使用类型名的别名。例如

int count = 60;
System.Int32 count2 = 60;

 

其实int只是System.Int32的别名而已,两者产生的效果作用是一模一样的。不过我们推荐使用前者,不推荐后者。这有历史的因素吧,不过只要是个人,都会很自觉写int,double这些别名吧。

11.原子方法

我们推荐原子操作。一个函数不需要做太多的事情。特别是对于类来说。如果一个实现可以用几个原子方法来完成,我们推荐这种做法,而不推荐把方法写地太长。最好别超过100行。

12.访问控制标志

虽然可以默认不填写访问控制符。但是我们不推荐这种做法。我们推荐把类里面所有的变量,方法,属性,...都写上访问权限。

13.region

#region和#endregion是非常好用的东西。它可以在任何位置,无聊是否在同时在同一个块内,都可以使用,将代码收缩。在一个类里面,我们推荐使用region将代码分类。譬如

 

 人老了记忆力就是差。

本文转自 Ron Ngai 博客园博客,原文链接:http://www.cnblogs.com/rond/archive/2012/08/21/2646028.html  ,如需转载请自行联系原作者

相关文章
|
7月前
|
存储 设计模式 Java
程序员写出漂亮代码的四五个小技巧
程序员写出漂亮代码的四五个小技巧
37 0
|
4月前
|
设计模式 算法 Java
|
9月前
|
SQL 人工智能 Java
程序员:你见过哪些要命的奇葩代码?
程序员:你见过哪些要命的奇葩代码?
79 0
|
9月前
|
机器学习/深度学习 自然语言处理 算法
程序员的炫技代码写法
程序员的炫技代码写法
|
编解码 前端开发 程序员
为啥只跟着视频敲代码学不好编程?
为啥只跟着视频敲代码学不好编程?
304 1
|
设计模式 存储 Java
14 个写 Java 代码的好习惯,写得太好了...
14 个写 Java 代码的好习惯,写得太好了...
132 0
14 个写 Java 代码的好习惯,写得太好了...
|
索引 Python
Python 函数式编程,没什么废话,直接看用法和代码
lambda 这个关键词在很多语言中都存在。简单地说,它可以实现函数创建的功能。
121 0
|
测试技术 数据安全/隐私保护 Python
行哥忠告:学习Python千万记得这几件事
很多小白刚写代码没有什么规范,想到哪写到哪就是因为没有一套合格的规范,所以行哥来给大家介绍一下目前主流的几种规范,看看有多少契合度
186 0
行哥忠告:学习Python千万记得这几件事
|
编译器 BI C语言
用c语言手搓一个500+行的类c语言解释器: 给编程初学者的编译器教程(1)- 目标和前言
这一系列教程希望面向初学者,使用c语言手工实现一个简单的解释器来玩,不需要您掌握除了c语言以外的其他前置知识,也不需要您学习过编译原理的相关知识(当然如果能对简单的数据结构有所了解的话会更好,比如树、栈等)。 > 写一个能执行代码的解释器不仅是一件很有(zhuang)趣(bi)的事情,大概也可以作为刚学习完c语言的一个练手的小项目啦 不同于大部分常见的其他只支持四则运算的所谓”手工解释器“教程,我们希望在代码结构尽量清晰的600行代码中,手工(不借助lex/yacc等工具)完成一个脚本语言“try”,实现以下功能:
1588 0
|
程序员 iOS开发 设计模式
什么样的代码才算是好代码
小编是一名7年iOS开发人员,在这里诚挚邀请各位还在坚持iOS的人程序员,不管你是十年大牛还是三年渣硕,肯学肯交流就加入我私人的一个交流群681503716,验证编码:大鲨,里面都有关于iOS的学习资料一起努力进步,我们为iOS付出那么多,不应该随便放弃吧 什么样的代码才是好代码?衡量代码的好坏的指标或者维度有很多,比如性能好、架构好、高内聚等,这些指标的侧重点各不相同,不同的开发人员的关注的重点也各不相同。
1551 0