代码规范_1:代码的可读性

本文探讨了如何通过代码重构来提升软件的可读性与执行效率,包括改善命名规范、使用解释性变量、合理拆分函数、避免过度嵌套等策略。同时,阐述了如何利用自然语言描述将想法转化为有效的代码实现,以及在代码组织、变量使用和逻辑清晰度上的最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 代码易于理解
  • 可读性

表面层次

  • 名字:装入信息
  • 大小写,下划线

审美

  • 代码看上去一致
  • 列对齐
  • 审美按块组织
  • 代码分成段落
  • 分格一致
// 代码组成段落
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){
......
}

想法变成代码

  1. 自然语言描述
  2. 写代码
  3. 重构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值