是否似曾相识?每个开发人员都犯过的15个错误

犯错是人之常情,也是促进我们成长的关键,不必惧怕犯错。请试着从他人的错误中学习借鉴,以免今后重蹈覆辙。

  1. 在长寿命的代码中使用快速粗糙的修复程序。快速粗糙的解决方案会破坏代码库的质量,很可能增加不必要的技术负担。长远来看,这样的方案会造成反噬。最后很可能需要重构。
  2. 缺乏实践。熟能生巧,要想成为一名开发人员需要更多的实操。最大错误是忘记时不时得学习新事物。如果想学习编程语言之类的新知识,大概率需要利用业余时间。
  3. 低估工作量。估测工作量是软件开发的一大难事。在Scrum疏理时经常有人说“这小功能一个故事点就能搞完”。但任务可能并不简单,预期方案也不起作用。所以在估测时记得计入测试时间,这点不仅适用于开发人员。
  4. 写显而易见的注释。我们都曾看过这样的注释:什么也没解释,只专注于代码的功能(例如,foreach循环的注释写着“产品遍历循环”)。当写注释时,不要只关注代码是做什么的,要关注此代码的创建原因。
  5. 注释掉代码块。代码块中多个功能被注释掉的情况比较常见。没有人知道代码块仍然存在的原因或是否有用。没有人删除是因为每个人都认为其他人可能需要它,大胆删除注释掉的代码块。如果代码仍然有用,可在版本控制中找到。
  6. 仅测试基本逻辑方案。在编写测试时不要只考虑基本逻辑,也要思考预期之外的情况,记得测试最坏的情况。
  7. 代码格式凌乱。这是经验不足的开发人员最常犯的错误。它使代码更难阅读,也会给其他需要阅读代码的开发人员带来困扰。通过安装格式化代码的linter可以修复凌乱的代码。
  8. 不记录任何相关信息。有用的日志可以为开发人员提供极大的帮助。日志消息可以帮助洞悉代码的问题所在,并节省大量调试时间。发生特定错误时,好的日志消息会提供有关用户正在执行的操作信息。
  9. 由于缺乏认知而重新开发wheel。当开发人员不知道框架中有哪些功能时,就会发生此错误。由于缺乏认知,开发人员实施的新方法会与框架中已有的几乎相同。
  10. 在没有解决方案的情况下开始编码。刚开始可能令人兴奋,但最终会反噬回来。计划和组织代码是编码的重要组成部分。不要不做计划就开始编码,编写代码之前,有很多事情要考虑。
  11. 不好的提交说明。很多人都有过这样的经历。“修复错误”或“ WIP”都不是很好的提交说明。好的提交说明很重要,应该多花一些时间将它写好。好的提交说明可提供内容更改和更改原因的有用信息。出现问题时,修订历史记录是快速找出病症所在的重要资源。
  12. 代码中包含魔数。魔数是特定值,它具有无法解释的含义,出现多次,可以并且应该以命名常量替换。魔数不可读,并且不为开发人员提供任何信息。最重要的是,魔数经常多次用于程序中的不同位置,很容易产生错误。
  13. 一个功能中要素太多。试着让功能做好一件事。不要让这个功能同时获取、处理和输出数据。将所有这些职责划分为不同的职能。一个用于获取,一个用于处理,另一个用于输出数据。功能专注于单项是使它更强大的关键。
  14. 不编写自动化测试。起初编写自动化测试会比手动测试花费更多时间。长远来看,多花时间编写这些自动化测试是值得的。手动测试所有内容无聊又耗时,并且人为因素更容易出错。
  15. 不必要的复杂化。大多开发人员都有过为了实施特定设计模型而实施的行为。仅仅因为有机会实施某种设计模式不意味着就应该这样做,这样做只会增加代码库的技术负担。

是否似曾相识?每个开发人员都犯过的15个错误相关推荐

  1. python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误

    这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误. 1.具有副作用的功能 由于Python不是像Haskell这样的纯函数式语言,因此会产生副作用. 严格来说,这不 ...

  2. PHP开发人员常犯的10个MysqL错误

    对于大多数web应用来说,数据库都是一个十分基础性的部分.如果你在使用PHP,那么你很可能也在使用MySQL-LAMP系列中举足轻重的一员. 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地 ...

  3. 每个开发人员都应该知道的 15 个 IntelliJ IDEA 快捷方式

    作为开发人员,高效地工作非常重要.这包括快捷方式,这些快捷方式对于快速工作和减少鼠标移动至关重要. 但是,初学者往往不知道哪些快捷方式可用或忘记使用它们.出于这个原因,在这篇文章中,我将为您提供 15 ...

  4. 每位开发人员都应铭记的10句编程谚语 (我超喜欢,转载了)

    所谓谚语,就是用言简意赅.通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情.也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己. 1. 无风不 ...

  5. 多线程并发:每个开发人员都应了解的内容

    各种类型的 源码,书籍,工具等 进入 磐实资源站 可以找到.网址 --> www.panshsoft.net   如果你有好的文章,源码提供给本站 可以进入 bbs.panshsoft.com ...

  6. java开发错误_每个Java开发人员都必须避免的9个安全错误

    java开发错误 Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全漏洞:源代码. 在这里查看 ! 自从1995年中期引入Java以来 ...

  7. java开发人员_每个Java开发人员都应该阅读的10本书

    java开发人员 我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见. 但是,有时我会发现一本书,每次阅读时都会教给我新的东西. 这篇博客文章是对这些稀有宝石的致敬. 现在,我 ...

  8. 每个Java开发人员都必须避免的9个安全错误

    Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全缺陷:源代码. 在这里查看 ! 自从1995年中期引入Java以来​​,它已经走了很 ...

  9. 每个Java开发人员都应该阅读的10本书

    我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见. 但是,有时我会发现一本书,每次阅读时都会教给我新的东西. 这篇博客文章是对这些稀有宝石的致敬. 现在,我毫不犹豫地向您介绍 ...

最新文章

  1. 因特网的域名服务器系统的好处,dns域名服务器的作用是什么
  2. 西瓜书公式推导讲解来了!
  3. 《深入理解Android:Telephony原理剖析与最佳实践》一1.3 Android Telephony框架结构...
  4. 行为模式之Chain of Responsibility模式
  5. v3是c语言吗 yolo_YOLOv3
  6. 【Android工具类】Activity管理工具类AppManager
  7. 如何安装zabbix_get
  8. 下载bilibli网站视频
  9. mysql不能设置密码_mysql不能设置密码
  10. 基于theano的keras安装
  11. mysql select语句执行顺序
  12. mysql快速启动_GitHub - TianSiQiang/Spring-Boot-MyBatis-Mysql: Spring Boot+MyBatis+Mysql 快速启动示例...
  13. pom.xml 如果使用 mvn exec:exec 命令运行项目
  14. excel熵值法计算权重_评价得分计算:确立权重的方法
  15. 北京今日限行 API数据接口
  16. 【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )
  17. U盘出现物理故障都有哪些表现
  18. 海外问卷的渠道主要有哪些?
  19. 1一10到时的英文单词_1到10的英文单词
  20. python的多线程使用setDaemon有什么意义?

热门文章

  1. B-Traveling Salesman Problem[CF-Gym-102134][2016-2017 7th BSUIR Open Programming Contest]
  2. Json Web Token(JWT)
  3. Struct复杂数据类型的UDF编写、GenericUDF编写
  4. 运维平台元数据稽核小结
  5. 【python】20行代码实现有道翻译api接口调用
  6. 独家揭秘:阿里小程序的一云多端!看这篇就够了!
  7. js判断浏览器是否运行或安装flash
  8. UCK将私钥硬件化 是数字资产安全储存的又一次革新
  9. 计算机网络实验2--简单企业网络搭建
  10. 防近视护眼台灯哪个牌子好?无蓝光无频闪的护眼台灯推荐