首页 > 编程语言 >嵌入式软件优秀编程习惯

嵌入式软件优秀编程习惯

时间:2024-11-01 19:51:47浏览次数:4  
标签:重构 代码 编程 程序员 嵌入式软件 文档 轮子 优秀

良好的编程习惯能让你水平快速提升,以下是几点建议:

1.多看官方文档

不要被这几个字吓到,官方文档其实都是宝藏。

一个成熟的技术诞生,可以没有博客没有书籍,但一定会有一个官方文档,毋庸置疑,它一定是最准确、最实时的资料。编写官方文档的人,也通常就是这些技术或者软件的开发者,他们是对这些东西最了解的人,所以编写的文档不仅质量非常高,通常内容也都是最新的。

因此,官方文档远比网上的各种博客和论坛等更适合入门学习。当我们遇到很多问题和技术细节的时候,认真将官方文档过一遍,你会发现很多问题和认识模糊的地方都会清晰起来。

程序员都应该掌握通过官方文档去学习一个技术的能力,掌握了这项能力,你就具备了学会其他一切技术框架的基础;而且原汁原味的官方文档,还能锻炼你的自我学习总结能力。

2.面向搜索引擎编程

很多人总以为无论什么都 Google 一下是一件很 low 的行为,但其实,普通程序员+ Google=超级程序员。

用好搜索功能,Google +Stack Overflow + GitHub 能解决你的大部分问题。

所以,在问别人问题之前,先自己搜索一下吧。

当然,超级程序员可不是会Google就行的,把 Google 到的东西吸收并运用起来,才是真正的能力。

不过,无论是看官方文档也好,还是面向 Google 编程也好,都必须要掌握较好的英文能力。这样才能更好的阅读文档,搜索自己所需要的东西。

3.规范命名

ITWorld 曾经发起过一个“程序员最头疼的事情”投票,结果,近半数的程序员认为命名是最头疼的事情。

有时候代码写嗨了,命名的时候就开始放飞自我,gousheng、tiedan、xiaonaigou、i、j.....自己是写嗨了,其他人阅读起来就懵逼了。

所以,不论是内部变量还是全局变量,都要形成自己的一种命名规则,能够一眼看明白变量的意思。混乱或错误的命名不仅让我们对代码难以理解,更会误导我们的思维;反之,良好的命名,则可以大大提高我们的代码易读性,也能大大增强代码的可维护性。

4.认真注释

和命名一样让程序员头疼的还有两件事:写注释头疼,别人不写注释读着头疼。

之所以要写注释,是因为当你在写某个程序的时候,可能当下记得很清楚,这一段是什么机制、如何实现,但是当你写的程序越来越多,你会忘记当初为什么这样写,改动和交接也十分麻烦,对代码进行注释就可以有效避免这种情况。注释不仅可以让人读懂代码,甚至能让读代码的人获取更多信息。

不过,注释贵精不贵多。要杜绝大姨妈般的“例注”,漫山遍野的碎碎念注释,实际就是背景噪音。

5.不要重复造轮子

“不要重复造轮子( Stop Trying to Reinvent the Wheel)”, 可能应该是每个程序员入行被告知的第一条准则。写程序实际上是一个最能“偷懒”的工作:你现在费力实现的每一个功能,可能早已经有极好的解决方法贡献在开源社区,使用好现有的轮子和各种开源库,会让你事半功倍。

当然,要找到一个非常适合的轮子,是非常不容易的一件事。有时候费了九牛二虎之力找了轮子,却发现有这样那样的问题,最后还是无疾而终。

那么,什么样的轮子是一个好轮子呢?

开源,并且 License 宽松。

有文档,代码规范,接口友好,最好有实际用例。

社区相对活跃。

松耦合,定制容易。

总之,只要合适好用,都是一个好轮子。

6.多读多写代码

提高编程能力其实没有捷径,最佳方式就是多写代码。

不过,除了写大量代码,提升编程能力还需要大量阅读别人写的代码。

一来,阅读源码可以提高编程能力。学习都从模仿开始,不管是入门时阅读教程里的示例代码,还是进阶时阅读优秀项目源码,都是很好的学习方式。

二来,阅读源码可以提高 debug 能力。只有练习积累的阅读代码的能力,才能看懂代码,从而快速准确地定位代码中的问题。

最后,阅读源码可以帮助形成良好的代码风格 。“开发”不仅要写可以执行的代码,更是 要写别人读得懂的代码 ,这对代码的维护和扩展大有好处。

7.预留开发时间

一个程序员能否精确评估开发时间,是一件非常重要的事情。不过对于新手程序员来说,宁可多算一周,不可少估一天。过于“乐观”容易让你的 boss 受惊吓。

毕竟,在评估开发时间的过程中,你需要预设各种修改对其他模块的影响。一个修改后的单元测试,可接受测试,UAT 环境测试,再到上线,很多地方都是需要花时间的。一旦某个测试不通过,然后又得调试,修改,再进行单元测试......谁能保证每次修改都是一次通过的呢。

8.大胆重构

重构是程序员的主力技能。

一个程序员最大的勇气就是看自己三个月之前写的代码。但是,学习如何将你的代码重构为一份更好的代码,这是一项很有价值的技能。好的代码是改出来的,代码需要不停的重构, 重构应该贯穿代码开发的整个阶段。

重构也并不应该是在几个月之后重构,最好的方式是实时重构。写一天代码,70%的时间都放到重构上都不过份。

9.师傅领进门

最后,作为一个初入职场的新手程序员,找一个可靠的前辈带领自己,是一个非常有利于自己成长的选择。

这个师傅最好能具备这几个特质:

支持你:不会因你的成功而利益受损的人。eg.同事相互竞争

技术技能:是确保你能从他身上实际学到东西的人。

高标准:能让你保持高标准,并不只是为了应付今天的工作,也是为了日后成为更资深的程序员。

这样,当你的工作遇到各种问题时,你的师傅可以带领你走正确的职业发展方向上。

10.善用AI

当前AI的编程能力已经很是了的,尤其应用代码的编写,比如实现一些特殊功能完全可以用AI代劳;

同时AI辅助调试代码也不错;国产大模型虽说还不如ChatGPT,但是对编程也是有很大助益的。

标签:重构,代码,编程,程序员,嵌入式软件,文档,轮子,优秀
From: https://blog.csdn.net/xieliru/article/details/143439642

相关文章

  • 《Linux系统编程篇》fork/wait/waitpid/exit函数——基础篇
    文章目录引言fork()函数概述父子进程兄弟进程fork函数fork()的常见问题fork()的优势与限制引入`wait`和`waitpid`(解决僵尸进程)wait函数waitpid函数:exit函数结论命为志存。——朱熹引言《Linux系统编程篇》——基础篇首页传送门本节我们正式进入Linux的进......
  • 《Linux系统编程篇》消息队列(Linux 进程间通信(IPC))——基础篇
    文章目录引言消息队列(MessageQueue)消息队列的特点消息队列的特性消息队列的操作ipcs-q拓展ipcrm拓展注意事项结论“山重水复疑无路,柳暗花明又一村。”——陆游引言《Linux系统编程篇》——基础篇首页传送门想象一下,你正在开发一个多任务处理的应用程序,其中......
  • Go和Rust的高并发编程中,为什么要特别注意对齐
    Go和Rust的高并发编程中特别注意对齐的原因有:一、提高访问效率;二、避免数据竞争;三、优化内存使用;四、保证数据完整性;五、增强平台兼容性;六、确保原子操作的正确性;七、缓解伪共享问题。提高访问效率是指,对齐可以使结构体中的字段按照最自然的方式排列,避免了不必要的内存访问开销......
  • [编程笔记] 搞人心态的代码含毒事件 “svn无法成功完成操作因为文件包含病毒或潜在的
    今天突然冒出来的问题,烦死了! svn拉取代码报毒了,不用想,基本就是下面几个可能性:1、某人提交的代码有毒2、电脑上的第三方杀毒软件引发3、WindowsDefender误判报毒的代码是一个dll文件,鬼知道写的什么,没有去深究,杀毒软件最近......
  • Java-SE-泛型编程-总结/java
    泛型一、泛型的定义和使用类定义:在定义一个泛型类时,需要在类名后加上<T>,以指示这是一个泛型类。例如:publicclassPair<T>{...}方法定义:在定义泛型方法时,需要在返回类型前加上<T>,这样编译器才会知道这是一个泛型方法。例如:public<T>Tadd(Pair<T>p){...}......
  • i2c与从设备通讯编程示例之i2c编写程序
    对于我们ELF 1板卡来说,我们前面看到的i2c-0、i2c-1总线对应着CPU的两个i2c适配器,作为主设备,而总线上挂载的设备作为从设备。如/dev/i2c-1对应的适配器作主设备,其上面挂载的光线传感器就作为从设备。前面我们了解了i2c的通讯协议,也初步用i2c-tools尝试着读写了一个从设备寄存......
  • 深入解析C#异步编程:await 关键字背后的实现原理
    C#异步编程中await实现原理详解在C#中,async和await关键字用于编写异步代码。本文将详细介绍await的实现原理,包括状态机的生成、回调函数的注册和触发等关键步骤。1.异步方法的基本概念在C#中,async关键字标记一个方法为异步方法,而await关键字用于等待一个异步操作完......
  • 现场可编程逻辑门阵列(FPGA)可应用的领域有哪些
    现场可编程逻辑门阵列(FPGA)是一种能够根据需求现场编程的集成电路,能提供灵活的硬件解决方案。FPGA可应用的领域有信号处理、通信系统、工业自动化、医疗设备、军事与航空、金融计算、图像处理和视频分析等。其中,在信号处理方面,FPGA可以执行复杂的并行计算,用于滤波和数据分析。以下......
  • 【java】什么是 Future 和 CompletableFuture - 一篇文章快速入门 Java 异步编程
    1.引言在现代Java编程中,异步编程变得越来越重要。随着多核处理器的普及,充分利用多线程可以大大提高程序性能和用户体验。在这种情况下,Future和CompletableFuture成为处理异步任务的核心工具。2.Future是什么?Future的定义及基本概念Future是Java并发库中的接口......
  • JAVA面向对象编程(详细 全部)
    概念面向对象编程(Object-orientedProgramming,OOP)是一种广泛应用于软件开发的编程范式。它通过将数据和对数据操作的方法封装在一个独立的实体中,即对象,来组织和管理代码。面向对象编程强调在编程过程中模拟真实世界中的实体和其相互关系。定义类我们需要搞清楚几件事情:对象......