都说态度决定一切,良好的态度也可以成就一名优秀开发者。但在现实生活中,尤其是遇到问题、功能实现失败或不能正常运行时,大家就会开始抱怨或者寻找一些借口,这些借口完全是没用的或者是阻碍你前进的拦路虎。而真正专业的态度应该着眼于项目和团队的积极结果,关注个人和团队的成长,并且围绕当前的工作积极展开各项任务。
本文作者Rajaraman Raghuraman是一名拥有8年开发经验的软件开发人员,他总结了程序员遇到问题时经常找的借口或理由,大家不妨看下,不知各位中枪了没,如果没有,大家不妨在移步看看“ 程序员遇到Bug后的30种常见反应”。
1.在我机器上还运行好好的
开发人员常会遇到这样的问题,他们感觉测试人员或者客户的电脑有一种神奇的魔力,可以给程序注入bug。因为程序在他本人电脑上可以很好的运行,为什么到他们那就会出现问题。
想要避免这样的借口发生,开发人员需要弄清楚开发、测试、客户的运行环境。bug是在何种配置/环境下出现,当你弄清楚这些,相信你就不会再发出这样的抱怨了。另外一种避免方式是拥有持续集成环境,检查每一段代码,并且把代码编译和部署到一些测试机器上。
2.你这是最新的build吗?
当测试人员告知开发者有bug或者提交bug时,程序员常会问,你测试的应用程序是最新的构建状态吗?其实,这种情况一般很少发生,一般提交的bug都是在最新的build里发现的。
想要避免这种情况发生最好有一个进程,可以验证测试人员使用的代码是最新最有效的。另一个方法是有一个持续集成环境,代码可以自动build和部署到测试服务器上。
3.肯定是配置问题
如果有开发人员这样对你说,你可以回答:“或许有可能,你能告诉我是哪个文件的配置出现问题了吗?我需要让它运行起来。”正如上面的对话,用户需要一个确切的回答,而非通用、模棱两可的答案。
最佳的做法是把所有配置文件里的相关参数定义在一个单独的配置文件里,把所有的动态值写在某个日志文件里,以防在引用时发生混乱。
4.先提出一个缺陷,然后我再确认它
个人角度来看,一个未得到确认的缺陷是很令人烦恼的。开发人员要么在开发过程中对缺陷进行跟踪,要么就是程序员和测试人员之间协调,通常情况下,开发人员和测试人员应该携手来进行缺陷的确认,以防弄出一些模棱两可的缺陷出来。
要想避免这样的情况发生,最好的方法就是测试人员和开发人员之间有良好的团队士气和协作。这样,他们就会很容易进沟通讨论,并且对缺陷进行确认和跟踪。
5.重启一下机器看看
这可以说是程序员杀手级的挡箭牌了,偶尔这个会奏效,但通常都是假的。想要避免这种情况发生就要弄清楚架构、代码以及相应的开发环境。
6.我不确定它为什么不工作,让我检查一下
相信用户最讨厌开发者说出这样的借口,作为一名开发者,你竟然都不确定某个特定的模块/功能为什么不工作,那么你是否正确地理解了该功能和代码设计呢?
想要避免这种情况发生,开发人员应该对各个模块有个清晰的思维导图,一旦问题发生,应该立即进行分析并且找出可能导致问题发生的原因。如果对问题出现的情况不知所措或者根本不知道原因所在,这很可能是因为代码设计不良或者缺乏对相应功能模块的理解。
7.5分钟以后再试试
好吧,难道你对程序设置了计时zhadan,好让它5分钟以后再工作。
这个借口真的是很可笑,开发者应该意识到代码不会随着的时间的改变而改变,除非你设置了某些特定的定时代码功能。
8.我不认为我的代码有错
有些程序员在面对缺陷时,通常都会说:“我的代码没错啊。”作为开发团队里的一员,应该没有“我的代码一说”,还不如换种说法更好,比如可能是某个模块出现了点问题,我去检查一下看看,最后再找到相应的开发人员,这样更加有利于振奋团队士气。
想要避免这种情况发生,最好的方法就是拥抱团队文化,每个开发者都要清楚各个模块的作用和功能,并给予相应的权限。
除了以上八句话,开发人员在听到自己的程序有缺陷或者功能失败时还会冒出哪些借口或者挡箭牌呢?大家不妨分享下吧。
翻译自: Java Code Geeks
相关推荐
"SP借口 API使用" 主要涉及的是服务提供商(SP)如何通过特定的接口(API)与通信网络进行交互的技术。SP接入API通常用于短信服务、彩信服务、语音服务等,允许第三方应用与移动运营商的系统进行通信,实现各种增值服务...
6. **异常处理**:Java强制使用异常处理机制,通过`try-catch-finally`语句块来捕获和处理程序运行时可能出现的错误。`java.lang.Throwable`是所有异常和错误的基类,包括`Exception`和`Error`。 7. **数据库连接**...
在微信小程序开发中,通过API接口获取数据是常见的操作,特别是在构建新闻列表这样的功能时。本项目"微信小程序-通过api接口获取新闻列表的demo"就是这样一个实例,它展示了如何利用微信小程序的网络请求能力来从...
这样,当用户使用小程序时,广告会展示出来,开发者则可以通过用户的点击或观看获得收入。 四、自适应来电模拟器 "自适应来电模拟器"可能意味着该小程序能够根据用户的设备屏幕尺寸和方向自动调整布局,提供良好的...
5. 驱动识别:系统会自动检测新连接的设备,并使用已安装的驱动程序进行配置。 6. 验证:安装完成后,可以通过设备管理器检查驱动是否安装成功,同时测试写卡机的功能是否正常。 在日常使用中,有时可能会遇到驱动...
- 当8254计数器0的计数值达到预设值时,它会在OUT0端产生一个脉冲,触发中断请求IRQ。这个中断请求被PC机的中断控制器接收,并调用中断服务程序来处理。 3. **8255接口芯片**: - 8255用于控制数码管显示和键盘...
4. **兼容性**:当新的版本发布时,需要检查新版本的接口是否有重大变更,以确保代码的兼容性。 5. **测试**:在实际应用前,需要对版本接口进行充分的测试,确保其在不同场景下的正确性和稳定性。 总的来说,这个...
6. **避免转发**:"不要转载"的标签提醒我们,不要未经许可就将这些工具传播给其他人,特别是当工具的开发者或提供者明确表示不允许这样做时。 总的来说,整人工具虽然可能带来短暂的娱乐效果,但使用者必须明白,...
2. 事件监听:项目中会使用`addEventListener`来监听用户的点击或其他交互行为,当事件触发时,执行相应的函数生成借口。 3. 随机数生成:为了实现借口的随机性,JavaScript的`Math.random()`函数会被用来生成随机...
4. 实时监控:工具可能具备实时监控USB接口状态的功能,一旦有设备尝试接入,会立即通知用户,让用户了解并决定是否允许连接。 5. 自动化操作:用户可以设置规则,比如在特定时间自动打开或关闭USB接口,适应不同...
因此,本文将对业主常见投诉的破解办法,尤其是关于不交管理费借口的破解,进行详细分析和探讨。 首先,业主可能因为现房与广告宣传存在差距而拒绝缴纳管理费。按照《最高人民法院关于审理商品房买卖合同纠纷案件...
8. **程序结构**:易语言程序通常由程序头、模块定义、常量定义、变量定义、函数定义和主程序等部分组成。理解这些结构对于编写易语言程序至关重要。 通过这个例子,你不仅可以学习到易语言的基本语法,还能深入...
我们使用的 Tomcat,当然你也可以使用其他的(配置方式基本相同)。不管是什么服务器,就跟我们发布.net 的 web 项目时需要配置 IIS,并发布项目的道理是一样的。 配置 Tomcat 需要进行以下步骤:在菜单栏中找到 ...
当USSD消息到达手机时,手机会显示一个弹出窗口,用户可以: - 回应:输入更多数据或选择菜单选项。 - 结束:关闭会话,不发送任何数据。 **编码解析过程** USSD消息使用一种特殊的编码格式进行传输,通常基于GSM...
如果你还没有安装这个库,可以使用以下命令进行安装: ```bash pip install requests ``` 一旦安装完成,我们就可以开始编写Python代码来查询违章记录。首先,我们需要知道API的URL、请求方法(GET或POST)、可能...
【紧急出库程序】是酒店财务管理中的一个重要环节,主要针对非正常工作时间内的紧急物资需求。这个程序旨在确保在紧急情况下,酒店各部门能够快速获取所需物品,同时避免对正常库存管理流程的滥用。 该制度由财务部...
java application multiThread clock,模拟时钟(AWT程序、Runnable接口),有时、分、秒针 编写一个应用程序,创建三个线程分别显示各自的时间。
不论你有任何借口,只要你写程序,哪怕只是一个人的小组,如果你没有一个系统化的管理软件虫的工具,你写的程序的质量一定高不了。许多程序员觉得自己可以记得自己的软件虫。没门!我从来记不住超过2到3个软件虫。...
Sym —人类的对称加密 目录 微调配置 发展 统一语言 当前设计 未来设计 执照 致谢 ...请查看以下帖子-使用Sym进行Dead简单加密-宣布了该库的初始... 除密钥外,加密还使用随机IV向量,该向量会在每次加密时自动生成并
**程序查询方式**:主机和设备串行工作,接口通过数据总线交换数据信息和控制信息。 13-15. **接口端口类型与I/O指令**:接口有数据端口(双向)、状态端口(输入)和控制端口(输出),使用IN和OUT指令进行数据的...