| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 同事用编辑器的\"列模式\"把我秀翻了~ -> 正文阅读 |
|
[开发工具]同事用编辑器的\"列模式\"把我秀翻了~ |
正文 大家好,我是bug菌! 今天主要跟大家分享的一些技术、一些事~ ” 欲善其功先利其器”,各行各业为了提高效率,会出现各式各样的工具,同样作为一名码农,开发工具更是比不可少,并且这些工具也随着大家的需求在不断的变得强大与便利。 所有的变更都是基于一定的用户需求,而这些开发工具面向的用户全体就是在座的各位开发者们,而我们最直接接触的应该就是编辑器了,不是编译器、也不是IDE,是"编辑器",他可能像UE或者SourceInsight等单独的存在,也可以与编译器等工具结合形成IAR,Keil等集成开发环境。 所以一款优秀的编辑器能够大大的加强的你开发效率和编码体验,如: 1、带不带变量、函数、关键性结构等自动补全功能; 2、结构体、联合体变量带不带成员自动例举功能; 3、括号很难找?能不能选择一个括号后,自动高亮最近符合语法的互补括号; 4、能不能直接跳转函数定义和声明? 5、是不是界面字体风格可以优化得很炫酷? 6、支不支持各种编码格式的转化? 7、文本替换是否支持一些正则语法等? 8、是否支持代码比对功能? 9、支持的文件格式渲染是否丰富? 10、带不带版本管理功能? 11、更重要的是够不够稳定~ ……. 好吧,bug菌一口气就只想到这么多,都是平时常用的一些功能,同时也是我选择一款合适自己开发工具的标准吧,这些功能不是无缘无故出现的,都是程序员的广泛诉求。 一些朋友该说了,我写代码从来没有这么多讲究,能够打abcd,能编译就行了~ 所以很多工程师朋友都还是用很老的开发工具,界面不但有点土,而且还各种不兼容,当然如果是一些老项目,可能考虑到编译器的一些配置、优化处理问题,免得给自己多找麻烦,但这不是你不选择、或者去适应新工具的理由,难道你确定这一辈子都维护着这一个项目? 不会去寻找新的机会,融入新的团队? 为啥谈这些呢?因为最近同事心塞的一幕被我瞅到了。 1 事件 简单描述一下: 要他把一个函数修改为一个宏片段,因为所在项目的平台用的MCU性能不咋样,有一些快速任务需要在中断中处理,而时间又比较饱和,所以出了个下策,把所有函数都改成代码宏,这样就减少了调用函数的入栈和出栈等时间处理,从而抽出足够的时间来实现这部分功能。 当时这个事情交给组内的其他同事,就出差了,下午回来,问他弄得咋样了? 他小声的跟我说,函数有点多呀,还要一会~ 我一想函数好像并不是很多呀,半个小时应该差不多吧。 于是我看他还在改就瞅了一眼,惊呆了~ 这个函数应该有个80多行的样子:
?改成宏片段应该不难吧:
这哥们怎么玩的? 徒手每行后面\续接符,硬是活生生的敲了80+,还不不包括,手动空格对齐,简直太难了~ 所以今天这里bug菌谈一下,目前大部分编辑器都带有的列编辑功能的妙用~ 2 注释多行 前面bug菌跟大家介绍过由于/**/不支持嵌套,所以很多朋友还是养成了//来注释代码的习惯,当然注释多行的方法还有#if 0预编译等等,其实不管那种方式都没有绝对的优劣,相关问题自己注意一下就可以了。 那么//注释多行,你还在像这样吗? 当然你可能会说这是一种摸鱼的方式,我反驳不了。但还是把更高效的方式告诉你,以免老板在你身后看着你一行行的敲代码。 按下键盘的alt键,然后使用鼠标左键点击直接往下拖,然后输入//,(在UE、IAR中均类似),同时删除也是类似的,,均在动图中演示: 当然keil也提供了选中多行,同时注释的快捷操作,不过bug菌还是比较喜欢使用原汁原味列编辑。 3 函数改宏片段 比如我们想把串口获取中断状态信息函数直接改成宏代码片段的方式,如果我们不熟悉编译器的列编辑功能,那就只能一个一个对齐,如下面动图所示,是bug菌在keil中跟大家演示的(你的keil应该跟我的keil不同吧~) : 我的天,这样也太难了吧,真的被人看到不会笑吗?工作效率实在太低。如果改上7-8个这样的函数,感觉自己都快要奔溃了~ 那么我们选择使用编辑器的列表编辑功能,我这里动图再演示一下,大部分列编辑工程都是按下键盘的alt键,然后使用鼠标左键点击直接往下拖,然后输入续接符\,效果见动图?:? 4 表驱动与结构体数组 还有很多朋友,非常喜欢使用表驱动法或者结构体初始化,同时这些初始化值写得非常完整,当你所构建的表中增加或者修改一项的时候,列编辑功能也是非常便捷的。 如果中间有一项不想改,也可以把相应列全部修改了,再回头单独还原不想修改的项。 其实说了这么多,一方面介绍了列编辑功能,另一方面想告诉大家多多少少要跟上软件发展的步伐,不至于给人一种不专业的感觉~ enjoy~ 最后 ? ? 今天的内容就到这里了,觉得有所收获,记得点个赞哦~~ 推荐专辑??点击蓝色字体即可跳转 ???MCU进阶专辑? ???嵌入式C语言进阶专辑? ???“bug说”专辑? ??专辑|手撕C语言 ??专辑|经验分享 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/20 13:36:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |