zoukankan      html  css  js  c++  java
  • 《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将代码分类。譬如

     人老了记忆力就是差。
  • 相关阅读:
    使用 Dockerfile 定制镜像
    UVA 10298 Power Strings 字符串的幂(KMP,最小循环节)
    UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
    LeetCode Best Time to Buy and Sell Stock 买卖股票的最佳时机 (DP)
    LeetCode Number of Islands 岛的数量(DFS,BFS)
    LeetCode Triangle 三角形(最短路)
    LeetCode Swap Nodes in Pairs 交换结点对(单链表)
    LeetCode Find Minimum in Rotated Sorted Array 旋转序列找最小值(二分查找)
    HDU 5312 Sequence (规律题)
    LeetCode Letter Combinations of a Phone Number 电话号码组合
  • 原文地址:https://www.cnblogs.com/rond/p/2646028.html
Copyright © 2011-2022 走看看