`
ningboxiao
  • 浏览: 30193 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

当程序不工作时,你是否会使用以下借口?

阅读更多

都说态度决定一切,良好的态度也可以成就一名优秀开发者。但在现实生活中,尤其是遇到问题、功能实现失败或不能正常运行时,大家就会开始抱怨或者寻找一些借口,这些借口完全是没用的或者是阻碍你前进的拦路虎。而真正专业的态度应该着眼于项目和团队的积极结果,关注个人和团队的成长,并且围绕当前的工作积极展开各项任务。

本文作者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

11
3
分享到:
评论
6 楼 truekbcl 2013-12-27  
6.我不确定它为什么不工作,让我检查一下
-----------
说实在的,这根本不是借口,而是实事求是的态度。“相信用户最讨厌开发者说出这样的借口,作为一名开发者,你竟然都不确定某个特定的模块/功能为什么不工作,那么你是否正确地理解了该功能和代码设计呢?”这个话怎么看怎么无趣。如果你都知道了原因,还会出现这种问题?
5 楼 anjianchao1234567890 2013-12-26  
yinxuchina 写道
  

4 楼 freezingsky 2013-12-26  
如果换个角度来看,大部人都不愿意去修改已经跑在生产环境上的代码,除非真的是有问题。所以在未确定真正的问题前,肯定会从一些配置方面去思考,最终排查后,确定是自己问题了,才会修改代码。
3 楼 zhangping2056 2013-12-26  
       人艰不拆啊楼主
2 楼 yinxuchina 2013-12-25  
  
1 楼 netcome 2013-12-25  

相关推荐

    IRIS数据平台:一款针对事务/分析型应用程序的新型数据平台-2020.pdf

    InterSystems IRIS数据平台具备以下特性: •高性能,具备并行的事务处理和分析处理能力,支持实时处理用例。 •支持实时执行机器学习、业务规则、自然语言处理、商业智能及SQL查询。 •具有完整的互操作性平台,能...

    打印机的实验报告.doc

    如果不能够 打印测试文档,可能是你使用的程序有问题,请重新安装程序。 九、重新安装打印机驱动程序。 有时,打印机驱动程序可能被损坏,从而引发无法打印文档的错误。我们可以重新 安装合适的驱动程序,然后再打印...

    java application 多线程时钟

    java application multiThread clock,模拟时钟(AWT程序、Runnable接口),有时、分、秒针 编写一个应用程序,创建三个线程分别显示各自的时间。

    bugzilla.pdf

    不论你有任何借口,只要你写程序,哪怕只是一个人的小组,如果你没有一个系统化的管理软件虫的工具,你写的程序的质量一定高不了。许多程序员觉得自己可以记得自己的软件虫。没门!我从来记不住超过2到3个软件虫。...

    sym:Sym是命令行实用程序和Ruby API,可轻松加密和解密敏感数据。 与许多其他现有的加密工具不同,sym专注于可用性和简化的界面(CLI),其目标是使加密变得简单而透明。 结果? 没有任何借口可以使您的应用程序机密保持未加密状态

    Sym —人类的对称加密 目录 微调配置 发展 统一语言 当前设计 未来设计 执照 致谢 ...请查看以下帖子-使用Sym进行Dead简单加密-宣布了该库的初始... 除密钥外,加密还使用随机IV向量,该向量会在每次加密时自动生成并

    tutorial-project-excuse-generator-javascript

    我们想要一个只使用很少的Javascript但仍具有非常有趣的应用程序的项目。 借口生成器需要20行代码,非常易于理解,并且是任何初学者的理想之选。 指示 请创建一个小型网站,每次按下按钮时都会产生借口,它的外观...

    boothelpdemo:关于 BootHelp 类的演示应用程序

    检查源代码,你会看到使用的 HTML 代码量是最少的。 没有更多无聊的 HTML 代码! 要求 任何形式的 PHP 5.4+ jQuery 1.9 引导程序3.3.4 请记住, BootHelp只是根据 Bootstrap 规范 v3.3.4 生成 HTML 代码。 ...

    今天玩:这是我快速投入使用的一款应用程序,用于查找谁可以在我工作的午餐时间玩游戏。 它具有特定的任务,但是对我来说,这也是我玩LitElement,GraphQL和一些D3.js的机会

    今天玩介绍写这篇文章是因为我:a)想要它,b)需要借口尝试一些我没有太多时间使用的技术。 具体来说,您会注意到以下内容。 JavaScript ES6(箭头函数,字符串模板,类等) -我不使用TypeScript,也没有使用Babel...

    PF:printf()的nostdlib填充程序

    但是,在不太可能的情况下,您需要在绝对必须放弃stdlib的环境中使用printf , pf是一种简单的现实黑客,它以以下价格提供了最低限度的最小printf() : 一个系统调用write(2) 一个警告int-conversion 格式字符串...

    ALSA 驱动架构说明

    这些原始借口直接工作在 The MIDI 事件上,程序员只需要管理协议和时间。 4 Timer 接口 为支持声音的同步事件提供访问声卡上的定时器。 5 音序器接口 一个比原始 MIDI 接口高级的 MIDI 编程和声音同步高层接口。它...

    elib:C++11 实用程序库

    elib 是一个个人 C++ 库,也是学习/实践更多 C++ 部分的借口。 它可以在上找到。 elib 的主页是 。 警告:此文件很少更新。 最后更新于 2014-06-17。 注意:elib 使用 git 子模块! 如果这是一个新的工作目录,请...

    Типограф-crx插件

    该程序在每个体面的Web主人的寿命中没有收费,在每个体面的Web主人的寿命中,当它严重思考屏幕排版时,那一刻就会出现。一方面,他想在浏览器窗口中使推力文本良好。为此,您需要而不是按英寸放置正常引号(“圣诞树...

    Fleedom-crx插件

    安装后,热键会自动按照以下配置进行分配,但可以通过Chrome扩展程序页面中的“键盘快捷键”链接进行重新分配:发送文本Mac:Command + Shift + K PC:Control + Shift + K声音提醒/提醒(延迟10秒) )Mac:Command...

    careers-managing-your-job-search-online-web-ft-011419

    被动(或业余爱好)求职者在找工作时会尝试偷工减料。 被动的寻找者没有花时间在搜索过程上,而是感到有工作的资格。 结果,他们经常找借口,例如“那里没有工作”。 被动寻求者的研究不足,最终工作松懈。 您不想...

    bambam:婴儿的键盘捣碎和涂鸦游戏

    用法在运行此应用程序之前,请确保已安装以下组件: 建议使用3.x版,但2.7版也应适用安装首先,查看您的发行版是否已包含bambam软件包。 这种方式可以处理本地化的程序消息和手册页。 例如: sudo apt install ...

    contabs:适用于控制台应用程序的简单而灵活的表

    控制台应用程序的简单而灵活的表。 用法 您可以仅两行创建一个表: var tab = Table<Sample>.Create(list); Console.WriteLine(tab.ToString()); 文献资料 项目Wiki包含以下指南: 贡献 如果您有兴趣贡献自己的力量...

    ruesdeparis:我的第一个Firefox OS应用

    巴黎街(巴黎街)用户数此网络应用程序以法语显示有关用户所在的巴黎街道的信息。 因此,它只能在巴黎地区使用。 该应用程序托管在。 它也可以在。 数据来自提供的以下文件[ ]。 Google提供了反向地理编码服务(将...

    generate Xpath-crx插件

    这需要大量改进,这是我对chrome扩展程序的第一个实验,因此请您为一些琐碎的错误找借口。 让我知道是否有任何不相关的内容或可能丢失的内容。 以下是一些将很快解决的已知问题。 1.如果找不到优化的xpath,则必须回...

    Play Sleuth Noir Add-On-crx插件

    附加功能:1)防止意外双击2)侦探音符上的单色3)“排除Alibi规则”按钮,排除所有真实的,没有根据的和已死的借口4)地图页面上的快速操作链接a)请咨询算命先生查看是否所有嫌疑犯都已被揭露b)在不去市政厅的...

    生成Xpath「generate Xpath」-crx插件

    这需要大量改进,这是我对chrome扩展程序的第一个实验,因此请您为一些琐碎的错误找借口。 让我知道是否有任何不相关的内容或可能丢失的内容。 以下是一些将很快解决的已知问题。 1.如果找不到优化的xpath,则必须回...

Global site tag (gtag.js) - Google Analytics