如何确定编码风格?
这是最近一直在想的一个问题,编码风格说着简单,不就是变量名的大小写,缩进使用空格还是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 2013-09-11 12:35 codestyle 阅读(1967) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 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的设计模式综述