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

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

3天内不再提示

嵌入式编码对齐Tab和空格混着用行吗?

嵌入式情报局 来源:嵌入式专栏 2023-02-24 10:16 次阅读

如果代码对齐不规范,代码看着就很凌乱,比如Tab 和 空格混合使用:

101ebbe0-b392-11ed-bfe3-dac502259ad0.png  

如果你看到类似以上代码,特别是前同事丢下烂摊子的时候,你内心可能会出现十万只***。

01 关于代码对齐

代码对齐主要就是Tab、空格,还有就是二者混合,在Keil 和 IAR中设置对齐方式比较简单:

1.Keil: Edit -> Configuration -> Editor

10500380-b392-11ed-bfe3-dac502259ad0.png  

2.IAR: Tools -> Options -> Editor

106b3db2-b392-11ed-bfe3-dac502259ad0.png  

3.Tab和空格的区别

Tab和空格其实只是两个不同的符号,但在编程对齐中的意义却大不一样。一个Tab可以占空个格的位置,但一个空格就只有一个空格的位置。

在Keil开发环境中可以显示出Tab和空格符,不妨看一下在Tab和空格交替编辑下,原本使用占2空格Tab符号,实际在4隔空Tab下看代码(和注释)就凌乱了。

101ebbe0-b392-11ed-bfe3-dac502259ad0.png  

离谱的代码中就会看见使用占3个空格的Tab,以

上截图举例都还好,没有使用占用3个空格的Tab。

代码前面的对齐都还好处理,很多工具都可以自动排版,IAR只要选中需要对齐的代码,Ctrl + T就可以了。Keil可以安装格式化插件AStyle即可轻松解决问题。

但代码后面的注释对齐就不是那么好处理了,如果使用Tab + 空格混合方式,更是容易混乱。

02 代码对齐究竟该用哪种?

不同人、不同公司的代码风格不一样,使用的对齐方式也不一样。代码对齐的通常有2空格,或4空格,或者Tab对齐。

但不建议 空格 和 Tab 混合使用,或者使用3个空格,或者5个空格这种非常规方式。

究竟用2空格、4空格、还是Tab对齐,这个需要看你项目实际情况,都可以的,就看你代码风格。

唯一一点就是不建议混合使用,使用Tab或者空格都可以用格式化工具转化。但如果你混合使用了,转化出来的代码,有可能是凌乱的。

03 Tab和空格不能在一起

要么使用Tab ,要么使用空格,如果两者同时使用,那么会出现后期维护难,遭同事怼骂的后果。





审核编辑:刘清

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

    关注

    5069

    文章

    19023

    浏览量

    303458
  • IAR
    IAR
    +关注

    关注

    5

    文章

    345

    浏览量

    36625
  • TAB
    TAB
    +关注

    关注

    0

    文章

    15

    浏览量

    11545
  • keil
    +关注

    关注

    68

    文章

    1212

    浏览量

    166697

原文标题:嵌入式编码对齐 Tab 和 空格混着用,太糟糕了~

文章出处:【微信号:嵌入式情报局,微信公众号:嵌入式情报局】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    iccavr怎么改成tab进4个空格

    按下tab时,有时进1个空格,有时进好几个空格,怎么改成按下就进4个空格
    发表于 03-24 10:29

    labview 能在嵌入式xp中运行吗

    比如我labview 2012写的上位机等,能在工控机的操作系统(WinCE嵌入式xp)中运行吗
    发表于 04-24 15:26

    嵌入式小波编码算法的原理是什么?

    在基于小波变换的图象压缩方案中,嵌入式零树小波 EZW(Embedded Zerotree Wavelets)[1]编码很好地利用小波系数的特性使得输出的码流具有嵌入特性。近年来,在对EZW改进
    发表于 08-15 08:27

    嵌入式c语言编码规范

    `学习嵌入式的同学应该首先掌握嵌入式编码规范,这样才能更好的嵌入式系统。下面就从这几个方面讲解一下嵌入式c
    发表于 10-31 14:50

    嵌入式c语言编码规范

    学习嵌入式的同学应该首先掌握嵌入式编码规范,这样才能更好的嵌入式系统。下面就从这几个方面讲解一下嵌入式c
    发表于 11-07 15:17

    RISC-V MCU IDE MRS(MounRiver Studio)开发之:设置Tab键以指定空格数缩进

    嵌入式开发中,我们常常需要在其他工程师创建的工程上进行二次开发,而每个人IDE中设置的Tab键功能内容可能不同(按下后插入一个制表符或者以指定空格数进行缩进),由于不同IDE制表符宽度不同,所以
    发表于 11-18 10:09

    ARM嵌入式系统为什么要对齐?不对齐会有哪些后果

    这里写自定义目录标题做嵌入式系统软件开发,经常在代码中看到各种各样的对齐,很多时候我们都是知其然不知其所以然,知道要做好各种对齐,但是不明白为什么要对齐,不
    发表于 12-14 09:09

    嵌入式ARM之嵌入式软件开发的测试与编码

    关注、星标公众号,不错过精彩内容转自:嵌入式ARM在嵌入式软件开发过程中,一般来说,花在测试和花在编码的时间比为3:1(实际上可能更多)。这个比例随着你的编程和测试水平的提高而不断下降,...
    发表于 12-20 06:42

    语音信号去噪和编码系统设计,DSP嵌入式系统开发典型案例

    语音信号去噪和编码系统设计,DSP嵌入式系统开发典型案例
    发表于 10-19 10:23 15次下载
    语音信号去噪和<b class='flag-5'>编码</b>系统设计,DSP<b class='flag-5'>嵌入式</b>系统开发典型案例

    JPEG2000算法嵌入式编码的DSP高效实现策略

    JPEG2000算法嵌入式编码的DSP高效实现策略
    发表于 10-20 09:40 4次下载
    JPEG2000算法<b class='flag-5'>嵌入式</b>块<b class='flag-5'>编码</b>的DSP高效实现策略

    在工业领域,嵌入式还是PLC?

    那么在工业领域嵌入式,还是可编程逻辑控制器(PLC)?
    发表于 01-13 14:31 1730次阅读

    嵌入式C语言-文件操

    嵌入式C语言-文件操(嵌入式开发需要什么证书)-嵌入式C语言-文件操,有需要的可以参考!
    发表于 07-30 11:56 15次下载
    <b class='flag-5'>嵌入式</b>C语言-文件操<b class='flag-5'>用</b>

    嵌入式软件之c语言编码规范

    嵌入式软件之c语言编码规范
    发表于 10-28 18:13 28次下载

    嵌入式系统的定义

    那么什么是嵌入式系统呢?我首先保证,下面的定义已经非常精简,一个多余的单词都没有(请允许我在一个完整的句子中加入空格来强调每一个要素):   嵌入式系统是 面向应用 高度裁减的 专用 计算机系统
    的头像 发表于 04-13 14:38 943次阅读

    ARM嵌入式系统中内存对齐的重要性

    嵌入式系统软件开发,经常在代码中看到各种各样的对齐,很多时候我们都是知其然不知其所以然,知道要做好各种对齐,但是不明白为什么要对齐,不对齐
    的头像 发表于 11-11 17:17 614次阅读
    ARM<b class='flag-5'>嵌入式</b>系统中内存<b class='flag-5'>对齐</b>的重要性