成功软件开发者的9种编程习惯 4

5. 不乱用程序切断(Block)

  很多人经常乱用程序切断。使用三个以上的切断是比较难以看懂的程序。请看下面例子:

int a = 10;
int b = 20;
int c = 30;
int d = 40;

if(a == 10)
{
  a = a + d;
  if(b == 20)
  {
    b = b + a;
    if(c != b)
    {
      c = c + 1;
      if(d > (a + b))
        printf("Made it all the way to the bottom!/n");
    }
  }
}

  这也许是夸张了,但确实有很多人真的这样做。那如何写得更好一点呢?一种方法是用函数来分写:

void next(int a, int b, int c, int d)
{
  if(c != b)
  {
    c = c + 1;
    if(d > (a + b))
      printf("Made it all the way to the bottom!/n");
  }
}

int main()
{
  int a = 10;
  int b = 20;
  int c = 30;
  int d = 40;

  if(a == 10)
  {
    a = a + d;
    if(b == 20)
    {
      b = b + a;
      next(a, b, c, d);
    }
  }
return(0);
}

  要这样写,也许会增加工作量,但程序编得结构化,容易看懂,而且如果函数做得更好,也可以在其他地方再使用。
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论
<p> <span style="font-size:14px;"><span style="font-size:18px;color:#E53333;"><strong>#惊喜福利</strong></span><br /> 1、赠送课程</span> </p> <p> <span style="font-size:14px;">今日下单购课,即送价值98元《MySQL数据库速成宝典》<br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;">2、课程持续更新</span> </p> <p> <span style="font-size:14px;"><span style="font-size:14px;">一次购买,课程永久有效,且课程内容讲师会每月进行更新迭代<span style="color:#E53333;">(</span><span style="color:#E53333;font-size:14px;">最近一次更新日期:2022年8月28日)</span></span><br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;">3、讲师答疑<br /> 学习过程中如有任何问题在讨论留言区沟通交流,讲师会及时进行回复<br /> <br /> 4、课件赠送<br /> 赠送全部课件,按需自行下载<br /> </span> </p> <p> <br /> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"><span style="font-size:18px;color:#E53333;"><strong>#课程收货</strong></span><br /> 1、学习应用最广ARMv8及最新ARMv9架构<br /> 2、快速掌握ARM体系下软硬件核心知识点<br /> 3、ARMv8及ARMv8应用实战方法<br /> 4、助你从小白逐渐进阶到入门及ARMv8/9应用达人<br /> </span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"><span style="font-size:18px;color:#E53333;"><strong>#该学习ARM哪些架构?</strong></span><br /> </span> </p> <p> <span style="font-size:14px;">大家好,请不要在学习十多年前ARMv6了,不要学习七八年前ARM32了,不要再学习那一堆过时技术了(gicv2、arm几模式、big.LITTLE架构),要学我们就从最新起点开始吧。</span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;"> </span> </p> <p> <span style="font-size:14px;"><span style="font-size:18px;color:#E53333;"><strong>#为什么ARMv8/9值得学习?</strong></span><br /> </span> </p> <p> ARMv8架构,同时做了32、64位指令集,就是支持64同时保留32位以便过渡。目前已经被普遍运用在手机、电视、汽车以及各类IoT设备芯片当中,苹果M1芯片,也是基于ARMv8架构进行设计。 </p> <div> <br /> </div> <p> 而ARMv9是ARM公司最新发布架构,在性能、AI和安全等方面进行全面升级,而且国内各大应用商店,也开始要求全体应用及游戏均需按计划上传含有64位构建APK。 </p> <p> <br /> </p> <p style="font-size:14px;"> <span style="font-size:18px;color:#E53333;"><strong>#本课程核心内容及知识点介绍</strong></span> </p> <p> <span style="font-size:14px;"><strong>第一章</strong>:主要是快速学习: ARM简介、指令集、寄存器总结等。</span> </p> <p> <span style="font-size:14px;"><strong>第二章</strong>:本系列视频一大亮点,精致&帅气地讲解了arm异常中断gic等相关软硬件知识,本人一直在倡导“学arm安全其实就是学arm架构,学arm架构其实就是学习arm异常和中断”,异常中断是领着你进入架构入门,是让你变成系统软硬件架构师必走之路。</span> </p> <p> <span style="font-size:14px;"><strong>第三章</strong>:安全专题,这也是本视频最核心东西。因为你无论买书还是看博客等,你都很难找到讲解安全教程,这里就是有和无区别。本人系统整理安全知识,带领你快速入门。这个章节也是卖最贵。</span> </p> <p> <span style="font-size:14px;"><strong>第四章</strong>:mmu专题,透过事务看本质讲解,白话式演讲。在所有模块中,mmu也算是相对较简单模块。相信人人听得懂,人人学得会。</span> </p> <p> <span style="font-size:14px;"><strong>第五章</strong>:cache专题,一切追求实事求是,不人云亦云,一切知识点都有迹可循,推翻了网络很多观念。在众多模块中,cache算是一个比较难模块。了解了cache后,才能算真正了解系统软硬件架构。</span> </p> <p> <span style="font-size:14px;"><strong>第六章</strong>:虚拟化,本人不擅长,会啥就随便讲点啥。(以后学会了再来补)</span> </p> <p> <span style="font-size:14px;"><strong>第七章</strong>:architecture,就是零散和零碎系统架构知识,如exclusive、arch timer、reset、系统启动、SOC设计、AMBA/AXI/ACE、DSU、WFE/WFI这样。</span> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <span style="font-size:14px;color:#E53333;"><strong>最后,除了以上部分,本视频会持续更新,增加一些热门话题,如CCA/RME/SMMU等。</strong></span> </p>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

coolstar

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值