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

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

3天内不再提示

为什么代码能看懂却不会写?

工程师 来源:玩转嵌入式 作者:玩转嵌入式 2020-10-19 17:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

程序代码是主观性很强的东西,同样的一个功能,每一个程序员所写出来的代码都不一样,所以那句名言“一千个读者就有一千个哈姆雷特”在代码上同样使用。同时,代码又是只可意会却很难言传的东西。硬件原理,看的多了即使外行人也能指点一下,但是代码只有编写的人才清楚。这也使得很多人认为代码很神秘。

1 代码要多看、多练

在学习编程语言的时候,我们都会有这样的经历:老师在讲每行代码的时候,我们都能听懂,但是要自己写的时候,却一条语句可能都写不出来。所以,代码除了要多看,还要多写。在练习写代码的时候,从最简单的功能开始,要搞懂每一条语句的含义,充分理解编程的思想,搞清楚每一个常用函数的使用方法。其实编程者就是一名经理,每一个函数就是一个工程师,经理就是要发挥每一个工程师的优点去实现一个项目。这就要,经理多和每个工程师谈话,熟悉每个工程师的做事方法、优点以及确定。用好每一个人。

2 编程之前要做好流程框图

拿到一个任务后,千万不要立即开始敲代码,而是要规划一下编程思想和流程,先把程序的流程图画下来。前文说过,实现一个功能的代码方法有很多,最重要的是编程思想,一定要先把自己的编程思想、程序构架梳理好后之后再去填充代码。否则,自己会陷在自己的逻辑里出不来。

3 优化代码、提高执行效率

同样的功能,有的人需要一百行代码,有的人需要七八十行代码,而有的人可能只需要四五十行。有的代码执行效率很高,而有的代码执行效率却很低。功能实现了并不代表任务就结束了,接下来要做的工作就是优化代码,包括优化代码结构、优化变量、减少全局变量等,同时通过测试来验证代码的逻辑防止出现BUG。

编程是一定要动手的,别人讲千百遍也比不上自己的一次动手,代码能看懂却写不出来就是因为动手少,不知道从何下手。

责任编辑:haq

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

    关注

    117

    文章

    3836

    浏览量

    84821
  • 代码
    +关注

    关注

    30

    文章

    4947

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享一个嵌入式开发学习路线

    如果你想要学习嵌入式开发,我建议按照这个学习路线准备: 1. 基础铺垫期(1-2个月) 理解嵌入式系统的“硬件基础”和“编程入门”,能看懂简单电路,写出基础C语言代码。这一阶段的学习对学历没有
    发表于 12-04 11:01

    别再迷糊了!Linux交叉编译到底是个啥?一文讲清楚

    就用 不绕弯子、接地气、工程师能看懂 的方式,把交叉编译讲得明明白白。 而且结合我们钡铼技术(BaileiTech)那些跑在 ARM、RISC-V、国产嵌入式 Linux 的产品,告诉你交叉编译在工业场景里究竟为什么重要。 一、交叉编译是什么?一句话讲清
    的头像 发表于 12-03 16:28 526次阅读
    别再迷糊了!Linux交叉编译到底是个啥?一文讲清楚

    DBC解析入门:从数字到物理意义的转变

    ,DBC解析就是把总线通信中的“纯数字”数据(ID+Data)转换成我们能看懂的“中文”数据。例如,汽车动力总成PTCAN(FD)总线工程师们关注的BMS上的“电池电
    的头像 发表于 10-30 11:44 299次阅读
    DBC解析入门:从数字到物理意义的转变

    一图看懂晶丰明源BP2525x系列的区别

    一图看懂BP2525x之间的区别
    的头像 发表于 09-13 15:22 2418次阅读
    一图<b class='flag-5'>看懂</b>晶丰明源BP2525x系列的区别

    防爆手机背面标识Exib ⅢC T130℃ Db的含义是什么

    不知道该如何选择适合自己的类型,有些朋友可能知道要看防爆等级和使用的范围,这些信息一般在防爆手机的背面,会标有防爆等级标识,但能看懂标识含义的朋友却不是很多;为了能买到
    的头像 发表于 08-06 16:35 1341次阅读
    防爆手机背面标识Exib ⅢC T130℃ Db的含义是什么

    如何看懂电子电路图

    电子发烧友网站提供《如何看懂电子电路图.pptx》资料免费下载
    发表于 07-29 16:34 335次下载

    F103RCT6芯片对AFIO-&gt;MAPR寄存器写入时出错了怎么解决?

    LL_GPIO_AF_Remap_SWJ_NOJTAG();写入时也是一样的情况,其次我写入001时,也会变成010。 但是AFIO-&gt;MAPR |= 0x00000004;这行却不会出现类似问题。 所以不知道是怎么回事,想请教一下各位大佬。
    发表于 06-04 06:35

    CY7C65215A调用了CyReadDeviceConfig和CyWriteDeviceConfig,但数据的字节格式却不透明/没有记录,为什么?

    我有另一个帖子中的 Linux 配置工具源代码。 然而,在示例中,它调用了 CyReadDeviceConfig 和 CyWriteDeviceConfig,但数据的字节格式却不透明/没有记录。 这些数据的格式是什么?
    发表于 05-22 06:26

    为什么你拿着《规范》,却不会“设计”?

    硬件规范很多,但是很多朋友拿着《规范》仍然不会进行设计。 1、不知道先后关系,规范之间优先级搞不清。 规范是 “碎片化结论”,设计是 “系统化决策”规范常以 “条款” 形式存在(如 “信号线
    发表于 04-28 16:21

    F103RCT6芯片对AFIO-&gt;MAPR寄存器写入时出错的原因?

    LL_GPIO_AF_Remap_SWJ_NOJTAG();写入时也是一样的情况,其次我写入001时,也会变成010。 但是AFIO-&gt;MAPR |= 0x00000004;这行却不会出现类似问题。 所以不知道是怎么回事,想请教一下各位大佬。
    发表于 04-27 06:37

    F103RCT6芯片对AFIO-&gt;MAPR寄存器写入时出错怎么解决?

    LL_GPIO_AF_Remap_SWJ_NOJTAG();写入时也是一样的情况,其次我写入001时,也会变成010。 但是AFIO-&gt;MAPR |= 0x00000004;这行却不会出现类似问题。 所以不知道是怎么回事,想请教一下各位大佬。
    发表于 04-22 13:29

    INDEMIND三维语义建图技术让机器人看懂立体世界

    当行业还在为机械臂拖布、自动上下水等清洁模块不断狂卷时,扫地机器人正站在智能化跃迁的十字路口。这场从“被动清洁工具”到“主动家庭管理者”的进化,核心命题不只是更强的机械臂,更需要一双能看懂世界的“智能之眼”。
    的头像 发表于 04-14 12:39 807次阅读

    为什么学了C语言,却写不出像样的项目?

    一些问题:学了不少语法,指针、数组、结构体都能看懂,但一到真正写程序时就不知道该如何下手;看了不少教程,甚至能背下来一些代码模板,但遇到新问题时还是会卡住;想做个完整的
    的头像 发表于 03-14 17:37 699次阅读
    为什么学了C语言,却写不出像样的项目?

    一文带你深入了解高光谱相机介绍背后所反馈的信息

    能看懂的。 其实我们可以拆解出来,然后去对应参数指标,很多时候都需要我们进一步转化成我们更好理解的词。例如具备超高成像速度,其实背后表达的是相机的帧频高,也就是相机每秒能够捕获并显示的图像帧数,单位为 帧
    的头像 发表于 02-28 10:34 604次阅读

    一文看懂电感、磁珠和零欧电阻的区别

    电子发烧友网站提供《一文看懂电感、磁珠和零欧电阻的区别.docx》资料免费下载
    发表于 01-02 14:48 3次下载