如何确定编码风格?

这是最近一直在想的一个问题,编码风格说着简单,不就是变量名的大小写,缩进使用空格还是tab键什么的吗?

其实不然,它既包含刚才说的这些命名上的规则,也包含更高级一些的内容,例如错误机制(是使用函数返回值,还是异常)以及错误机制怎么使用,这些内容属于什么呢,属于编码惯用法,这些惯用法受语言,所采用的框架,类库的影响(不同语言的惯用法并不完全相同,并且有各自的理由,所以甚至出现某些惯用法在不同语言里互相冲突的情况)并且这些规则也不仅仅只是代码层面的问题,例如错误机制,日志机制,同时也是架构层面的问题。体现在代码里,却由更高层依据某个理由决定。

今天想说的是什么呢?还是最浅的那个层次,变量名的大小写,缩进的规范,虽然是最浅,这里也依然有道道,其实我们命名是时应该遵循一致性,啥意思?也就是当我们决定使用一门语言进行开发,首先应该去找这个语言和它标准库的命名特征,它是采用大小写的呢?还是采用下划线的呢,它的大刮号是独立一行呢,还是跟在定义的后面呢?这些都是我们决定命名时的依据,我们可以考虑要不要跟随语言的风格,要或者不要都需要理由,当然,大多数情况下还是会跟随语言的风格

我们要让我们的代码风格和语言的风格保持一致,首先会达到一个基本的美感。如果代码里出现了多种编码风格,那么首先就是凌乱的感觉,倒不是说必须和与语言一样,如果决定不一样,一定要有理由,并且不断的坚持,而不能随意的中途改变

/*凌乱的编码风格*/
DB* createDb()//骆驼命名,并且大刮号独立一行
{
    int ret;
    DB *dbp=NULL;

    ret = db_create(&dbp, NULL, 0);//下划线命名
    if(ret!=0){//大刮号起于行尾
        fprintf(stderr,"createDberror!
");
        exit(1);
    }

    return dbp;
}

/*具有一致性的编码风格*/
DB* create_db()
{
    int ret;
    DB *dbp = NULL;

    ret = db_create(&dbp, NULL, 0);//下划线命名
    if(ret != 0)
    {
        fprintf(stderr,"createDberror!
");
        exit(1);
    }

    return dbp;
}
原文地址:https://www.cnblogs.com/code-style/p/3314296.html