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

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

3天内不再提示

三大特征透露出新手开发人员需改正的地方

如意 来源:读芯术微信公众号 作者:读芯术微信公众号 2020-09-15 15:10 次阅读

“经验是最严厉的老师。它上来就把你考倒,尔后才授教于你。”奥斯卡·王尔德这句话用来形容新手程序员的生活很贴切。程序员要从实践中学习。在实践中,你会犯错误,但只要你能从错误中吸取教训,就能获得成长。

来回顾一下吧,你的哪些特征曾“透露”出这是一个新手。

结构混乱的代码

新手开发人员编写的代码常常结构混乱,如果有轻量级结构就已经很不错了。而造成这点的原因在于他们过于关注代码的运作,经验丰富的开发人员知道,作为一名开发者,你还有更多的工作要做。

编写代码并使其运作只是开发人员工作的一小部分,新手开发人员却把它当成了重中之重。随着经验的积累,你会意识到你的大部分工作是维护项目,而不是从头开始构建新项目。意识到这一点之后,你将以完全不同的方式进行编码。这会使代码更容易维护,更易于其他开发人员理解。

如果没有意识到这一点,就会出现函数堪比一篇文章大小的情况。很多问题也随之而来,例如可测试性。你要如何测试堪比论文的函数,而且它还要实现五个不同的功能?

如果只是想让代码运作起来,在大多数情况下,这样的代码都是没有经过深思熟虑的,代码质量会因此受到影响。这种类型的代码通常看起来像过程代码,不遵循诸如单一功能原则这样的编码原则。当进入维护阶段,你就会意识到代码质量欠佳会带来多大的问题。

乱枪除错

新手开发人员遇到问题时,常常会开始胡乱调试,想到哪里试哪里。在不知道实际问题是什么的情况下,随机修改代码中的一些内容,希望瞎猫碰上死耗子,成功解决问题。

很明显,这在大多数情况下是行不通的,这样做只会引入更多的bug。开发人员应该做的不是胡乱调试,而是收集有关问题的更多信息。

首先要做的是找出重现问题的方法。在更改代码之前收集信息是很重要的,这样就可以了解到底是什么导致了bug。打开日志文件是调试之旅的一个良好开端。看看能否找到一些有用的信息,指引你找到正确的方向。

找到了bug的出处并修复之后还不算完,如果真的想把事情做好,至少应该为修复程序编写一个测试,以便在未来出现问题的时候得到保护。

过于关注技术

新手开发人员仍在学习技术的阶段。因此,他们关注的重点通常是掌握自己的技术栈。这也说得通,因为如果你想成为一个出色的开发人员,就需要掌握相关技术栈。但是开发人员应该关注的不仅仅是技术。

当了解了技术栈的所有细节后,不应该把业务抛在脑后。因为这就是你做这份工作的原因。你是在为公司创造价值,还是在一些与公司无关的事情上花费了太多的时间?这是一个应该一直问自己的重要问题。

作为开发人员,你不能仅仅专注于工作的技术方面,还需要牢记业务和经济因素才是评判你工作价值的关键因素。

做事的差别

团队工作中的一些小细节也会“暴露”新手开发人员,他们常常喜欢用自己的方式做事,而不是和团队中的其他人保持一致。有时这种情况是无意中发生的,新手开发人员不能认识到解决方案中的某些模式。

为了与团队成员统一步调,你可以查看创建好的所有pull请求。不必全部都看,只要确保了解其他开发人员是如何解决某些问题的就可以了。他们的解决方案和你解决问题的方式是否相似?如果不是,问问他们为什么选择这种解决方案,以及是否考虑过你的解决方案。

别担心,每个优秀的程序员都是从菜鸟时期走过来的。转变思路,汲取经验,你离告别新手期并不太远。
责编AJX

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

    关注

    0

    文章

    370

    浏览量

    41068
  • 编程
    +关注

    关注

    88

    文章

    3651

    浏览量

    94363
  • 源代码
    +关注

    关注

    96

    文章

    2948

    浏览量

    67218
收藏 人收藏

    评论

    相关推荐

    IAR发布云端平台,助力现代嵌入式软件开发团队

    该平台为嵌入式软件开发人员提供前所未有的自由度与灵活性,助力开发团队在工具选择和日常工作流中实现更高效的协作与创新。
    的头像 发表于 03-12 11:56 91次阅读

    英特尔FPGA AI套件软件2024.3版本的主要亮点

    FPGA AI 套件软件 2024.3 版全新发布,其提供诸多增强功能,旨在改善开发人员开发体验。为帮助开发人员应对在实际应用中面临的挑战,此次更新也增加了多项新功能,从提高性能到提供新的设计示例,再到完善编译器工具,每一项优
    的头像 发表于 03-07 14:07 214次阅读

    GoPoint嵌入式开发平台 释放i.MX潜力 简化Linux开发

    GoPoint是一个以用户为中心的平台,旨在释放恩智浦i.MX微处理器的潜力,从而优化基于i.MX应用处理器的开发。凭借丰富的交互式演示库和强大的技术支持,GoPoint帮助开发人员更快、更智能
    发表于 02-28 10:07 261次阅读
    GoPoint嵌入式<b class='flag-5'>开发</b>平台 释放i.MX潜力 简化Linux<b class='flag-5'>开发</b>

    AmpereOne处理器的设计创新对开发人员有何影响

    工作负载的理想之选。在 Ampere 2024 年度路线图更新视频中,我们展示了超过 192 个内核和 8 个内存通道的产品计划,并在 7 月下旬向媒体透露了更多路线图相关的信息,以及 AmpereOne 的各种架构细节。
    的头像 发表于 02-20 11:10 245次阅读

    低代码在敏捷开发中的应用

    低代码平台的定义 低代码平台提供了一个可视化的、拖放式的用户界面,允许开发者通过图形化的方式快速构建应用程序,而无需编写大量的代码。这些平台通常包括预构建的模板、组件和逻辑模块,使得开发人员可以专注
    的头像 发表于 01-07 09:58 221次阅读

    拥有低功耗低成本的Open开发应用,开发人员必看!

    Open开发应用需求,有没有低功耗、低成本方案? 今天我们一起来聊聊Air780EP模组。 一、Air780EP实网功耗数据 4G-Cat.1模组支持种功耗模式:常规模式、低功耗模式、PSM+模式
    的头像 发表于 12-26 11:50 277次阅读
    拥有低功耗低成本的Open<b class='flag-5'>开发</b>应用,<b class='flag-5'>开发人员</b>必看!

    SSM框架的优缺点分析 SSM在移动端开发中的应用

    :Spring框架是企业型开发使用的成熟的开源框架,能够节省成本。SSM框架使用起来更加轻快,能够更合理地分配资源,使用最小的资源完成当前的需求。 节省开发时间 :SSM框架采用典型的层结构MVC(模型、视图、控制器),允许
    的头像 发表于 12-16 18:18 1048次阅读

    MSPDebugStack开发人员指南

    电子发烧友网站提供《MSPDebugStack开发人员指南.pdf》资料免费下载
    发表于 12-05 14:49 0次下载
    MSPDebugStack<b class='flag-5'>开发人员</b>指南

    基于Wi-Fi6解决方案开发超低功耗物联网设备

    Silicon Labs(芯科科技)独家发布的Wi-Fi开发者旅程(Wi-FiDeveloper Journey)网站页面资源旨在为开发人员提供面向低功耗Wi-Fi设计的所有所需资源。
    的头像 发表于 10-29 16:47 868次阅读
    基于Wi-Fi6解决方案<b class='flag-5'>开发</b>超低功耗物联网设备

    C2000 ePWM开发人员指南

    电子发烧友网站提供《C2000 ePWM开发人员指南.pdf》资料免费下载
    发表于 09-07 09:45 0次下载
    C2000 ePWM<b class='flag-5'>开发人员</b>指南

    《软件开发珠玑》+60条戒律

    包含需求、设计、项目管理、文化和团队合作、质量、过程改进6个方面的内容,提供了丰富、实用的工具和方法。当开发人员更好的理解了需求时,便能够从用户的角度触发思考更优秀的解决方案。从这点来看,每个软件开发人员或团队应人手一份这本书,充分能够提高个人和团队的技术素质,对个人对社
    发表于 06-24 19:27

    OpenAI API Key获取:开发人员申请GPT-4 API Key教程

      OpenAI的GPT-4模型因其卓越的自然语言理解和生成能力,成为了许多开发者的首选工具。获取GPT-4 API Key并将其应用于项目,如开发一个ChatGPT聊天应用,不仅是实践人工智能技术
    的头像 发表于 06-24 17:40 2902次阅读
    OpenAI API Key获取:<b class='flag-5'>开发人员</b>申请GPT-4 API Key教程

    嵌入式开发就业前景怎么样?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,同时也需要具备
    发表于 06-07 14:51

    DevEco Device Tool 如何生成静态库供第方使用

    根据开发需要,先将应用程序打包成静态库供其他组成员使用。使用IED:DevEco Device Tool 。希望相关开发人员提供帮助。谢谢!
    发表于 05-28 14:27

    星停止自动驾驶研究,开发人员转到机器人领域

    近日,星电子宣布了一项重要的研发战略调整。据业内人士透露星先进技术研究院(SAIT)已决定停止自动驾驶汽车的研究,并将这一领域的开发人员转移到机器人领域。
    的头像 发表于 05-13 09:21 499次阅读