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 ,要么使用空格,如果两者同时使用,那么会出现后期维护难,遭同事怼骂的后果。





审核编辑:刘清

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

    关注

    4981

    文章

    18271

    浏览量

    288271
  • IAR
    IAR
    +关注

    关注

    5

    文章

    319

    浏览量

    36281
  • TAB
    TAB
    +关注

    关注

    0

    文章

    15

    浏览量

    11483
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165282

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

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

收藏 人收藏

    评论

    相关推荐

    嵌入式视频_应_开发_系统嵌入式视频

    嵌入式视频_应_开发_系统嵌入式视频
    发表于 08-20 10:08

    iccavr怎么改成tab进4个空格

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

    labview 能在嵌入式xp中运行吗

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

    方便的TAB代替敲四个空格(在KEIL里只需要打一个勾)

    方便的TAB代替敲四个空格(在KEIL里只需要打一个勾)
    发表于 12-06 13:34

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

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

    嵌入式c语言编码规范

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

    嵌入式c语言编码规范

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

    【原创】在嵌入式系统中大小端和对齐问题

    作者:黄忠老师(张飞实战电子高级工程师)C语言是一种高级语言,在大多数情况下C语言的代码是和具体的处理器体系结构无关的。然而,在嵌入式系统的编程中,有可能涉及对内存的具体操作。在大小端和内存对齐
    发表于 07-30 09:34

    什么是嵌入式软件

    概述:什么是嵌入式软件?与传统软件不同,嵌入式软件需要将软件分析、设计、编码后烧录至硬件环境中才能实现所对应功能,随着智能应用的发展,越来越多的嵌入式产品走进大众视野,常用的路由器、交
    发表于 10-28 08:45

    嵌入式平台上板载的微控制器是什么

    1 填空题嵌入式竞赛平台上板载的微控制器是: 3 级流水线,具有 128 Kbytes的Flash存储空间。(请在第一、二空格处填写10进制数值)解析:STM32G431RBT6采用采用
    发表于 11-08 06:09

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

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

    busyboxcrontab/crond在嵌入式系统中添加定时任务的方法

    busybox crontab、crond在嵌入式系统中添加定时任务:参考文档:在嵌入式系统中,定时任务通过crond和cronttab两个系统命令来联合执行。其中crond是定时任务的守护进程
    发表于 12-14 06:40

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

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

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

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

    嵌入式软件开发中为什么要求使用四个空格这种很傻很慢的操作

    使用四个空格而不是使用tab这条规定乍一看有点奇怪,因为我们已经习惯了开发过程中使用tab键代替空格去分隔程序,为什么要求使用四个空格这种很
    发表于 12-22 07:47