您的位置:首页 > 编程语言

代码规范_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){
......
}


想法变成代码

自然语言描述

写代码

重构
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: