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

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

3天内不再提示

编程的好习惯总结

STM32嵌入式开发 来源:STM32嵌入式开发 作者:STM32嵌入式开发 2022-05-24 15:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1 多看官方文档

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

因此,官方文档远比网上的各种博客和论坛等更适合入门学习。当我们遇到很多问题和技术细节的时候,认真将官方文档过一遍,你会发现很多问题和认识模糊的地方都会清晰起来。 程序员都应该掌握通过官方文档去学习一个技术的能力,掌握了这项能力,你就具备了学会其他一切技术框架的基础;而且原汁原味的官方文档,还能锻炼你的自我学习总结能力。

2 面向搜索引编程 很多人总以为无论什么都 Google 一下是一件很 low 的行为,但其实,普通程序员+ Google=超级程序员。 用好搜索功能,Google +Stack Overflow + GitHub 能解决你的大部分问题。 所以,在问别人问题之前,先自己搜索一下吧。

当然,超级程序员可不是会Google就行的,把 Google 到的东西吸收并运用起来,才是真正的能力。 不过,无论是看官方文档也好,还是面向 Google 编程也好,都必须要掌握较好的英文能力。这样才能更好的阅读文档,搜索自己所需要的东西。

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

73805ec6-da78-11ec-ba43-dac502259ad0.jpg

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

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

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

73975b44-da78-11ec-ba43-dac502259ad0.png

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

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

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

开源,并且 License 宽松。

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

社区相对活跃。

耦合,定制容易。

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

6 多读多写代码 提高编程能力其实没有捷径,最佳方式就是多写代码。 不过,除了写大量代码,提升编程能力还需要大量阅读别人写的代码。

一来,阅读源码可以提高编程能力。学习都从模仿开始,不管是入门时阅读教程里的示例代码,还是进阶时阅读优秀项目源码,都是很好的学习方式。 二来,阅读源码可以提高 debug 能力。只有练习积累的阅读代码的能力,才能看懂代码,从而快速准确地定位代码中的问题。 最后,阅读源码可以帮助形成良好的代码风格 。“开发”不仅要写可以执行的代码,更是 要写别人读得懂的代码 ,这对代码的维护和扩展大有好处。

7 预留开发时间 一个程序员能否精确评估开发时间,是一件非常重要的事情。不过对于新手程序员来说,宁可多算一周,不可少估一天。过于“乐观”容易让你的 boss 受惊吓。 毕竟,在评估开发时间的过程中,你需要预设各种修改对其他模块的影响。一个修改后的单元测试,可接受测试,UAT 环境测试,再到上线,很多地方都是需要花时间的。一旦某个测试不通过,然后又得调试,修改,再进行单元测试。。.。。.谁能保证每次修改都是一次通过的呢。

8 大胆重构 重构是程序员的主力技能。 一个程序员最大的勇气就是看自己三个月之前写的代码。但是,学习如何将你的代码重构为一份更好的代码,这是一项很有价值的技能。好的代码是改出来的,代码需要不停的重构, 重构应该贯穿代码开发的整个阶段。 重构也并不应该是在几个月之后重构,最好的方式是实时重构。写一天代码,70%的时间都放到重构上都不过份。

9 师傅领进门 最后,作为一个初入职场的新手程序员,找一个可靠的前辈带领自己,是一个非常有利于自己成长的选择。 这个师傅最好能具备这几个特质:

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

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

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

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

审核编辑 :李倩

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

    关注

    5

    文章

    1801

    浏览量

    60280
  • 编程
    +关注

    关注

    90

    文章

    3709

    浏览量

    96814
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73196

原文标题:总结了一些编程的好习惯

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机C语言编程的心得

    写这个8*8按键程序的过程中,不管是在自己写还是参考别人程序的过程中,发现自己对C语言有些基本知识点和编程规范有很多不懂的地方,有些是自己以前的编程习惯不好,有些就是基础知识不扎实的表现,所以
    发表于 12-08 07:44

    无线耳机需要充电多久?

    文章总结:无线耳机充电时间受电池容量、充电协议及使用习惯影响,需科学养护以延长续航。
    的头像 发表于 10-07 13:33 396次阅读
    无线耳机需要充电多久?

    ‌TPLD801-Q1 可编程逻辑器件技术文档总结

    TPLD801-Q1 是 TI 可编程逻辑器件 (TPLD) 系列器件的一部分,该器件具有具有组合逻辑、顺序逻辑和模拟模块的多功能可编程逻辑 IC。TPLD 提供完全集成的低功耗解决方案,用于实现
    的头像 发表于 09-28 10:03 446次阅读
    ‌TPLD801-Q1 可<b class='flag-5'>编程</b>逻辑器件技术文档<b class='flag-5'>总结</b>

    ‌CDCEL824 可编程双PLL时钟合成器技术文档总结

    该CDCEL824是一款基于PLL的模块化低成本、高性能、可编程时钟 合成器、乘法器和除频器。它从单个输入生成多达四个输出时钟 频率。每个输出都可以在系统内编程,以达到 201 MHz 的任何
    的头像 发表于 09-14 10:13 837次阅读
    ‌CDCEL824 可<b class='flag-5'>编程</b>双PLL时钟合成器技术文档<b class='flag-5'>总结</b>

    ‌LMK61E2 超低抖动可编程振荡器技术文档总结

    LMK61E2器件是一款超低抖动PLLatinum™可编程振荡器,带有一个小数N频率合成器,集成了VCO,可生成常用的参考时钟。输出可配置为 LVPECL、LVDS 或 HCSL。 该器件具有
    的头像 发表于 09-14 09:24 934次阅读
    ‌LMK61E2 超低抖动可<b class='flag-5'>编程</b>振荡器技术文档<b class='flag-5'>总结</b>

    ‌LMK61E0M可编程振荡器技术文档总结

    LMK61E0 系列超低抖动 PLLatinum^TM的^可编程振荡器使用带有集成VCO的小数N频率合成器来生成常用的参考时钟。该LMK61E0M支持3.3V LVCMOS输出。该器件具有从片内
    的头像 发表于 09-13 09:46 1061次阅读
    ‌LMK61E0M可<b class='flag-5'>编程</b>振荡器技术文档<b class='flag-5'>总结</b>

    ‌LMK61E07可编程振荡器技术文档总结

    LMK61E07系列超低抖动PLLatinum™可编程振荡器使用带有集成VCO的小数N频率合成器来生成常用的参考时钟。LMK61E07上的输出可配置为 LVPECL、LVDS 或 HCSL。该器件
    的头像 发表于 09-12 14:37 635次阅读
    ‌LMK61E07可<b class='flag-5'>编程</b>振荡器技术文档<b class='flag-5'>总结</b>

    ‌LMK61E08 超低抖动可编程振荡器技术文档总结

    LMK61E08系列超低抖动PLLatinum™可编程振荡器使用带有集成VCO的小数N频率合成器来生成常用的参考时钟。LMK61E08上的输出可配置为 LVPECL、LVDS 或 HCSL。该器件
    的头像 发表于 09-12 10:07 648次阅读
    ‌LMK61E08 超低抖动可<b class='flag-5'>编程</b>振荡器技术文档<b class='flag-5'>总结</b>

    ‌LP5522可编程LED驱动器技术文档总结

    LP5522 是一款简单的单线可编程 LED 控制器,采用六焊球 DSBGA 封装。 它通过高侧驱动器提供恒定电流。输出电流可设置为 1 mA 至 20 mA,使用ISET引脚上的外部电阻。如果不使
    的头像 发表于 09-05 09:20 670次阅读
    ‌LP5522可<b class='flag-5'>编程</b>LED驱动器技术文档<b class='flag-5'>总结</b>

    LP5560可编程单LED驱动器数据手册总结

    LP5560 是一款可编程 LED 驱动器,可生成各种闪烁序列,每个序列最多三个不同长度的脉冲。闪烁序列可以通过单线接口进行编程。可编程参数包括开启和关闭时间以及上升和下降时间。默认序列被编程
    的头像 发表于 08-29 11:07 913次阅读
    LP5560可<b class='flag-5'>编程</b>单LED驱动器数据手册<b class='flag-5'>总结</b>

    相关协议信号总结

    电子发烧友网站提供《相关协议信号总结.xlsx》资料免费下载
    发表于 06-25 15:34 5次下载

    GaN E-HEMTs的PCB布局经验总结

    GaN E-HEMTs的PCB布局经验总结
    的头像 发表于 03-13 15:52 1055次阅读
    GaN E-HEMTs的PCB布局经验<b class='flag-5'>总结</b>

    AMAZINGIC晶焱科技:后疫情时代来临,E-Bike已成为生活习惯

    AMAZINGIC晶焱科技:后疫情时代来临,E-Bike已成为生活习惯
    的头像 发表于 02-19 22:56 556次阅读
    AMAZINGIC晶焱科技:后疫情时代来临,E-Bike已成为生活<b class='flag-5'>习惯</b>

    2024年AI编程技术与工具发展总结

    数据进行多方位的总结和梳理。 在第二章《TOP 101-2024 大模型观点》中,同济大学特聘教授、CCF 杰出会员 朱少民 对 2024 年 AI 编程技术与工具发展进行了总结。 全文如下
    的头像 发表于 02-13 09:11 1511次阅读
    2024年AI<b class='flag-5'>编程</b>技术与工具发展<b class='flag-5'>总结</b>

    养成良好的编程习惯|堆内存初值不一定是0

      什么是良好的编程习惯?可以看下这段代码,有没有什么问题? #include #include int main(){    char *s = (char *)malloc(1024
    的头像 发表于 12-18 09:14 577次阅读