技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

如何确定编码风格?

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

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

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

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

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

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

    return dbp;
}

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

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

    return dbp;
}
复制代码

 

 

posted on   codestyle  阅读(1967)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示