编码规范的要点
命名 | 恰当的名字,无论多么怎么强调都不过分 |
注释 | 还是必须有啊! |
行数 | 函数的行数,类的行数,乃至与一个源文件的代码行数都必须恰当,存在一个不宜过大的值和过小的值 |
个数 | 变量个数,参数个数,函数个数,属性个数 |
嵌套层数 | 语句的层数我认为2层是最佳,即for(;;){if(expr){dosomething}} |
日志 | 日志是了解程序运行状态的最重要工具,以及性能调优的最重要的依据 |
我现在觉得,一般来说名字都应该长一点,不过用于循环的迭代器时允许短一点:
int i; for(i=0; i < productCount ; i++){ printf("project name is %s \n", productList[i]->name); }
但是这样行不行呢?
foreach (i in productList) { Console.writeLine(i.name); }
我觉得不行,i已经是一个对象,而不是索引了,所以必须写成这样
foreach(product in productList) { Console.writeLine(product.name); }
最恰当的嵌套层次, 这样的代码读起来就不是很累
int findProduct(Product *(*productList)[N], char *name, int *index) { int i; assert(productList != NULL && name != NULL && index != NULL); for(i = 0; i < N; i++) { if(strcmp(productList[i]->name, name) == 0) { *index = i; return YES; } } return NO; }
【推荐】国内首个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的设计模式综述
2012-12-02 CppUnit编译与入门