代码规范_1:代码的可读性
2016-03-20 23:27
330 查看
代码易于理解
可读性
大小写,下划线
列对齐
审美按块组织
代码分成段落
分格一致
总计变量
摩根定理
待续
尽量拆分到不同的函数中,至少是代码的不同段落
写代码
重构
可读性
表面层次
名字:装入信息大小写,下划线
审美
代码看上去一致列对齐
审美按块组织
代码分成段落
分格一致
// 代码组成段落 class FrontendServer{ public: FrontendServer(); ~FrontendServer(); //Handlers void ViewProfile(HttpRequest *request); void SaveProfile(HttpRequest *request); void ViewProfile(HttpRequest *request); //Request/Reply Utilities string ExtarctQyeryParam(HttpRequest *request); };
注释
流程
//最小化嵌套 if(user_result==SUCESS){ if(permisiion_result!=SUCCESS){ reply.Done(); return; } reply.W(); }esle { reply.w(); } reply.Done
拆分超长的表达式
用解释的变量//不好代码 if line.split(':')[0].strip=="root"; ... //好的代码 usename=linesplit(':')[0].strip if username=="root" ...
总计变量
摩根定理
//不好的代码 assert((!(bucket=FindBucket(key)))||!bucket->IsOccupied); //好的代码 buket=FindBucket(key); if(bucket!=NULL) asset(!bucket->IsOccupied());
重新组织
代码(重构)待续
一次只做一件事
列出代码所做的所有任务尽量拆分到不同的函数中,至少是代码的不同段落
var vote_changer=function(old_vote, new_vote){ var score = get_score(); if(new_vote !== old_vote){ if(new_vote == 'Up'){ score+=(old_vote == 'Down' ? 2:1); }else if{ ...... } } set_score(score); } //拆分:1. old_vote和new_vote解析成数字值;2. 更新分数 var vote_value=function (vote){ if(vote == 'Up'){ return +1; } if(vote == 'Down'){ return -1; } var vote_change=function(old, new){ ...... }
想法变成代码
自然语言描述写代码
重构
相关文章推荐
- C#:ListView 点击表头对数据排序
- 将陆续回顾javaSE基础知识--通过圣思园张龙老师的视频
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- Struts 2设计者指南02:对象工厂
- ubuntu 安装numpy的烂问题libgfortran3依赖
- 从C语言的C++头文件开始起底
- 从头认识java-特辑-总结static
- 我的c++第二次程序1
- Java - 反射
- 两个命令把 Vim 打造成 Python IDE的方法
- 第三周JAVA程序设计基础学习总结
- 读C#程序(第三周)
- 固定位数和精度的浮点数处理对象Decimal
- PHP之cookie
- Qt正则表达式笔记
- Java - 序列化与反序列化
- 5. Longest Palindromic Substring | Java最短代码实现
- Java - IO
- Python基础--构造函数
- Python基础--构造函数