是否似曾相识?每个开发人员都犯过的15个错误
是否似曾相识?每个开发人员都犯过的15个错误
犯错是人之常情,也是促进我们成长的关键,不必惧怕犯错。请试着从他人的错误中学习借鉴,以免今后重蹈覆辙。
- 在长寿命的代码中使用快速粗糙的修复程序。快速粗糙的解决方案会破坏代码库的质量,很可能增加不必要的技术负担。长远来看,这样的方案会造成反噬。最后很可能需要重构。
- 缺乏实践。熟能生巧,要想成为一名开发人员需要更多的实操。最大错误是忘记时不时得学习新事物。如果想学习编程语言之类的新知识,大概率需要利用业余时间。
- 低估工作量。估测工作量是软件开发的一大难事。在Scrum疏理时经常有人说“这小功能一个故事点就能搞完”。但任务可能并不简单,预期方案也不起作用。所以在估测时记得计入测试时间,这点不仅适用于开发人员。
- 写显而易见的注释。我们都曾看过这样的注释:什么也没解释,只专注于代码的功能(例如,foreach循环的注释写着“产品遍历循环”)。当写注释时,不要只关注代码是做什么的,要关注此代码的创建原因。
- 注释掉代码块。代码块中多个功能被注释掉的情况比较常见。没有人知道代码块仍然存在的原因或是否有用。没有人删除是因为每个人都认为其他人可能需要它,大胆删除注释掉的代码块。如果代码仍然有用,可在版本控制中找到。
- 仅测试基本逻辑方案。在编写测试时不要只考虑基本逻辑,也要思考预期之外的情况,记得测试最坏的情况。
- 代码格式凌乱。这是经验不足的开发人员最常犯的错误。它使代码更难阅读,也会给其他需要阅读代码的开发人员带来困扰。通过安装格式化代码的linter可以修复凌乱的代码。
- 不记录任何相关信息。有用的日志可以为开发人员提供极大的帮助。日志消息可以帮助洞悉代码的问题所在,并节省大量调试时间。发生特定错误时,好的日志消息会提供有关用户正在执行的操作信息。
- 由于缺乏认知而重新开发wheel。当开发人员不知道框架中有哪些功能时,就会发生此错误。由于缺乏认知,开发人员实施的新方法会与框架中已有的几乎相同。
- 在没有解决方案的情况下开始编码。刚开始可能令人兴奋,但最终会反噬回来。计划和组织代码是编码的重要组成部分。不要不做计划就开始编码,编写代码之前,有很多事情要考虑。
- 不好的提交说明。很多人都有过这样的经历。“修复错误”或“ WIP”都不是很好的提交说明。好的提交说明很重要,应该多花一些时间将它写好。好的提交说明可提供内容更改和更改原因的有用信息。出现问题时,修订历史记录是快速找出病症所在的重要资源。
- 代码中包含魔数。魔数是特定值,它具有无法解释的含义,出现多次,可以并且应该以命名常量替换。魔数不可读,并且不为开发人员提供任何信息。最重要的是,魔数经常多次用于程序中的不同位置,很容易产生错误。
- 一个功能中要素太多。试着让功能做好一件事。不要让这个功能同时获取、处理和输出数据。将所有这些职责划分为不同的职能。一个用于获取,一个用于处理,另一个用于输出数据。功能专注于单项是使它更强大的关键。
- 不编写自动化测试。起初编写自动化测试会比手动测试花费更多时间。长远来看,多花时间编写这些自动化测试是值得的。手动测试所有内容无聊又耗时,并且人为因素更容易出错。
- 不必要的复杂化。大多开发人员都有过为了实施特定设计模型而实施的行为。仅仅因为有机会实施某种设计模式不意味着就应该这样做,这样做只会增加代码库的技术负担。
是否似曾相识?每个开发人员都犯过的15个错误相关推荐
- python编程新手常犯的错误_初学者开发人员都会犯的7个Python错误
这篇文章主要介绍了七个初学者常犯的Python调试错误,并告诉大家如何去避免这些错误. 1.具有副作用的功能 由于Python不是像Haskell这样的纯函数式语言,因此会产生副作用. 严格来说,这不 ...
- PHP开发人员常犯的10个MysqL错误
对于大多数web应用来说,数据库都是一个十分基础性的部分.如果你在使用PHP,那么你很可能也在使用MySQL-LAMP系列中举足轻重的一员. 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地 ...
- 每个开发人员都应该知道的 15 个 IntelliJ IDEA 快捷方式
作为开发人员,高效地工作非常重要.这包括快捷方式,这些快捷方式对于快速工作和减少鼠标移动至关重要. 但是,初学者往往不知道哪些快捷方式可用或忘记使用它们.出于这个原因,在这篇文章中,我将为您提供 15 ...
- 每位开发人员都应铭记的10句编程谚语 (我超喜欢,转载了)
所谓谚语,就是用言简意赅.通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情.也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己. 1. 无风不 ...
- 多线程并发:每个开发人员都应了解的内容
各种类型的 源码,书籍,工具等 进入 磐实资源站 可以找到.网址 --> www.panshsoft.net 如果你有好的文章,源码提供给本站 可以进入 bbs.panshsoft.com ...
- java开发错误_每个Java开发人员都必须避免的9个安全错误
java开发错误 Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全漏洞:源代码. 在这里查看 ! 自从1995年中期引入Java以来 ...
- java开发人员_每个Java开发人员都应该阅读的10本书
java开发人员 我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见. 但是,有时我会发现一本书,每次阅读时都会教给我新的东西. 这篇博客文章是对这些稀有宝石的致敬. 现在,我 ...
- 每个Java开发人员都必须避免的9个安全错误
Checkmarx CxSAST是功能强大的源代码分析(SCA)解决方案,旨在从根本上识别,跟踪和修复技术和逻辑安全缺陷:源代码. 在这里查看 ! 自从1995年中期引入Java以来,它已经走了很 ...
- 每个Java开发人员都应该阅读的10本书
我已经阅读了自己的软件开发书籍,并且发现发现一本我想多次阅读的书籍非常罕见. 但是,有时我会发现一本书,每次阅读时都会教给我新的东西. 这篇博客文章是对这些稀有宝石的致敬. 现在,我毫不犹豫地向您介绍 ...
最新文章
- 因特网的域名服务器系统的好处,dns域名服务器的作用是什么
- 西瓜书公式推导讲解来了!
- 《深入理解Android:Telephony原理剖析与最佳实践》一1.3 Android Telephony框架结构...
- 行为模式之Chain of Responsibility模式
- v3是c语言吗 yolo_YOLOv3
- 【Android工具类】Activity管理工具类AppManager
- 如何安装zabbix_get
- 下载bilibli网站视频
- mysql不能设置密码_mysql不能设置密码
- 基于theano的keras安装
- mysql select语句执行顺序
- mysql快速启动_GitHub - TianSiQiang/Spring-Boot-MyBatis-Mysql: Spring Boot+MyBatis+Mysql 快速启动示例...
- pom.xml 如果使用 mvn exec:exec 命令运行项目
- excel熵值法计算权重_评价得分计算:确立权重的方法
- 北京今日限行 API数据接口
- 【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )
- U盘出现物理故障都有哪些表现
- 海外问卷的渠道主要有哪些?
- 1一10到时的英文单词_1到10的英文单词
- python的多线程使用setDaemon有什么意义?
热门文章
- B-Traveling Salesman Problem[CF-Gym-102134][2016-2017 7th BSUIR Open Programming Contest]
- Json Web Token(JWT)
- Struct复杂数据类型的UDF编写、GenericUDF编写
- 运维平台元数据稽核小结
- 【python】20行代码实现有道翻译api接口调用
- 独家揭秘:阿里小程序的一云多端!看这篇就够了!
- js判断浏览器是否运行或安装flash
- UCK将私钥硬件化 是数字资产安全储存的又一次革新
- 计算机网络实验2--简单企业网络搭建
- 防近视护眼台灯哪个牌子好?无蓝光无频闪的护眼台灯推荐