0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

缩进就有那么重要?

单片机技术宅 来源:单片机技术宅 2020-05-14 15:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为什么要缩进

作为单片机编程爱好者,特别是初学者,才开始学习编程,也是良好编程习惯养成的最佳时间,为了日后我们写出的代码看着比较高大上,我们有必要在开始时形成好习惯,比如代码的缩进。

你猜的没错,今天我们就来说说缩进。缩进是代码阅读性的重要保证。没有缩进的代码如同没有标点符号和分段的文章,即使内容精彩绝伦,也不可能会有人喜欢去阅读,更主要的是,没有标点的文章,阅读起来好多地方是会有歧义的,我们的编程也是一样的,没有缩进的代码,我们是很难阅读,很难看出程序的逻辑关系,阅读起来还很有可能会产生歧义。

我们写出来的代码不只是写给处理器运行的,还需要同行、经理审查、阅读以完成协作,更重要的是在日后代码维护中,你才是主角。再或者不要你维护,今天你写的代码都么牛X,日后吹牛的时候,和菜鸟说的天花乱坠,菜鸟一看到代码,没有缩进,啊!

说了那么多,也许你还是不行,缩进就有那么重要?

往下看

试着读一下下面的代码,能否快速找到Delay_xms(1000);在哪里调用的?for?while?main?如果上千行的代码,没有缩进,你想像一下,会是什么场景?

void main(void)

{

uchar i,j;

Delay_xms(50);

Init_MAX7219();

while(1)

{

for(i=1;i<9;i++)

Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

for(i=1;i<9;i++)

{

Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

Max7219_pinCS=0;

for(j=0;j

{

Write_Max7219_byte(i); //写入地址,即数码管编号

Write_Max7219_byte(disp1[count-1-j][i-1]); //写入数据,即数码管显示数字

_nop_();

}

Max7219_pinCS=1;

}

Delay_xms(1000);

}

}

再看看下面的代码,试着找找Delay_xms(1000);在哪被调用?

void main(void)

{

uchar i,j; Delay_xms(50); Init_MAX7219(); while(1) {

// for(i=1;i<9;i++)

/ / Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

for(i=1;i<9;i++)

{

// Write_Max7219(i,disp1[1][i-1],i,disp1[0][i-1]);

Max7219_pinCS=0;

for(j=0;j

{

Write_Max7219_byte(i); //写入地址,即数码管编号

Write_Max7219_byte(disp1[count-1-j][i-1]); //写入数据,即数码管显示数字

_nop_();

}

Max7219_pinCS=1;

}

Delay_xms(1000);

}

}

很明显的,在while里调用。上面的例子已经很明显了,缩进是代码可读性的前提。

如何快速实现缩进

绝招一:tab键,将光标定义在需要缩进的代码行或者选择需要缩进的所有代码,再按下tal键可以快速的实现所以光标行或者选择的代码。

绝招二:工具栏快捷按钮,缩进/取消缩进所选代码,用于缩进整块代码。

绝招三:编写代码时,换行后直接按tab把光标移到想要的位置,再进行代码的书写。

写在最后

缩进,让你的代码更优雅,看起来专业,便于阅读。陋习的养成很简单,也许只是一个简单程序的事,从开始就养成好的编程习惯,你将会受用一生。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3708

    浏览量

    96778
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73163

原文标题:论编程缩进的重要性

文章出处:【微信号:chuxue_MCU,微信公众号:单片机技术宅】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Lora基站在物联网应用的重要

    Lora基站在物联网应用中具有重要的地位。首先,Lora基站可以实现对物联网设备的远程监测和控制,为物联网应用提供了强大的功能支持。其次,Lora基站具有较强的抗干扰能力和较长的电池寿命,可以在恶劣
    发表于 12-03 07:09

    防水连接器8芯:信号连接重要吗?

    在多路信号传输场景中,防水连接器 8 芯是设备间的 “信息枢纽”—— 它能同时承载 8 路独立信号或电力,且具备防水防尘能力。不少人疑惑:不就是多几根芯线,信号连接真有那么重要?其实,惟兴科技 8 芯防水连接器的信号连接质量,直接关系到设备能否精准协同、稳定运行,在复杂场
    的头像 发表于 10-15 18:25 418次阅读

    电机原理及重要公式(干货)

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:电机原理及重要公式(干货).doc 【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-20 17:47

    看了那么多书,第一次有人把ZVS(零电压开通)说的那么简单通透

    开关损耗的重要手段。ZVS的本质是让开关管在导通时,其Vds(漏源电压)降至零,从而避免MOSFET体二极管的反向恢复和寄生电容的充放电损耗。本文将深入探讨上下管的ZVS实现原理、影响因素及优化方法
    发表于 04-08 14:21

    ADC参考电压有多重要(可下载)

    工程中大家经常会用到 ADC 来采集模拟电压,把模拟量变为数字量进行系统处理,有时候 看到采集结果,什么?这个结果跟实际采集的信号怎么还有点小差距?那么就有可能是参考 电压的问题参考电压有多重要
    发表于 04-03 11:20 0次下载

    DAC8564 IOVDD和AVDD都接DSP输出电压3.3V,为什么上电就有1.2V的偏移?

    我采用内部参考的方式 IOVDD和AVDD都接DSP输出电压3.3V,为什么上电就有1.2V的偏移,而且满量程只有1.96V?
    发表于 02-13 06:04

    AD—TVP5150A是正常供电就有时钟输出吗?

    了一下检测到的信号不是27M,信号不规则,频率随机。我利用的外部晶振14.31818M。想确认一下芯片是正常供电就有时钟输出吗
    发表于 02-11 06:25

    TVP5150不是默认就有黑屏输出吗?

    请教下,我用的是DM365+TVP5150的方案,有接摄像头时,采集显示正常。 如果系统上电时,没接摄像头,TVP5150无黑屏输出。可这时插上摄像头,又拔掉, TVP5150变成有黑屏输出了。TVP5150不是默认就有黑屏输出吗?
    发表于 02-10 06:00

    ads1147等vrefout脚上电就有2.0v左右电压吗?

    按照datasheet clk脚接地。ads1247 ads1147等vrefout 脚上电就有2.0v左右电压么? 我焊接了好几块,线路就接3.3v和地, vrefout脚是需要软件初始化设置
    发表于 02-07 07:07

    不是!让高速先生给个过孔优化方案就那么难吗?

    了,哪怕已经约束了很多参数了,其实还有另外更加隐蔽的参数没在里面,然后这个没考虑到的参数在不同的设计项目中就有可能不同,那么导致过孔阻抗的差异从3到10欧姆不等,甚至更多。这个时候再回头去看看所谓的过孔
    发表于 01-21 08:50

    传输线特征阻抗是设计中最重要的因素

    就称为受控阻抗的传输线。 传输线特征阻抗是设计中最重要的因素 传输线的瞬间阻抗或者是特征阻抗是影响信号品质的最重要的因素。如果信号传播过程中,相邻的信号 传播间隔之间阻抗保持一致,那么信号就可以十分
    发表于 01-21 07:11

    阻性负载的重要作用

    阻性负载在电气工程和电子领域中扮演着重要的角色。它主要通过消耗电能来产生热量,广泛应用于各种场景中。以下是阻性负载的一些重要作用: 能量转换与消耗: 阻性负载是纯电阻性的设备,如白炽灯、电炉等。当
    发表于 01-07 15:18

    DAC8760接上了24V以后,芯片表面就有啪的一声,是哪里出了问题?

    你好,我使用了你们的DAC8760芯片,我看数据手册上写着的AVDD电压最高可达36V,但是我接上了24V以后,芯片表面就有啪的一声,芯片坏了,我试了两个芯片都是这样,不知道这块芯片AVDD是否真的可以使用24V供电,下面是我的原理图: 不知道是不是原理图设计得有问题,请指教。
    发表于 12-30 07:16

    ADS1299调到1000SPS(0x94)的时候,DRDY的波形就有问题,怎么解决?

    波形,但是当我调到1000SPS(0x94)的时候,DRDY的波形就有问题了。(但是完全用官方评估板和官方自带Labview软件调至1000时是可以用的)。求有经验的朋友帮忙分析分析。谢谢! 图1
    发表于 12-20 07:24

    ADS58C48的输出给FPGA的时钟怎样产生的,是只要有输入时钟,就有输出时钟吗?

    : 1,ADS58C48如果想要实现基本的功能需要怎样配置寄存器?有没有相关FPGA配置程序可以参考一下? 2,ADS58C48的输出给FPGA的时钟怎样产生的,是只要有输入时钟,就有输出时钟吗?
    发表于 12-20 06:32