程序员/开发者的时间都去哪了?

对于那些不知道程序员/开发者的时间都去哪了的人,本文可能会提供一些线索。我记录了这份日志不仅是为了看看时间都花费在哪了,也是为了看看我都做了些什么,检视下自己是否偷懒了。当回顾之后,我发现花这些时间都是值得的。

作为开始,下面是我在前一阶段追踪的bug,(假设)你应该可以看到其中的错误。仅仅拿出这10行JavaScript并找到错误在哪里并不难,但要在茫茫的代码中定位这10行并证明那些就是bug,这就有一定的难度了。

如此宁静的一天。通常情况下,有三个人可能打断我工作的连贯性,因为11:30之前,我要不时的与他们通过语音或文字信息交流和讨论。把这些过程以log记录下来,实际上是对我工作的推进是有帮助的。这使得我能端坐在键盘前专注于我的工作,以免被别的问题分心。

09:50 收到了一封来自团队成员的邮件,内容是关于一些可能会产生问题的代码。我看了一下,并把目前解决不了部分整理起来。

10:10 继续昨天IE7虚拟机的下载(4gb)。

10:15 由于IE7下载的时间比较长,我趁着下载的时候,申请了TestingBot的账号。

10:20 与一名开发者Skype语音,讨论关于他新添加的功能。

10:21 由于设计师没有正确的把图片上传到网站,产生了大量的报错邮件。我花费了两天的时间让设计师掌握源代码控制软件。由于有些设计师没有Visual Studio,我也建立了一些用来存储特定内容的文件夹,这些文件夹可以自动发布问题给这些设计师。我有没有提到,无论是在测试中,镜像模拟阶段还是已发 布的产品中出现的每一个错误我都会记录下来。我认为这些设计师都应该看一看。

10:22 一名开发者要与我进行Skype语音。为了防止下载软件占据网速,而影响通信,我不得不暂停下载IE7。

10:45 完成与那名开发者的语音通信。

10:50 由于持续的退信错误,250个报错邮件不能够正常工作。我继续了IE7的下载。放弃删除报错邮件,手动连接Azune并刷新那些设计师之前没有正确上传的图片。

10:55 通过网络服务器继续测试IE7浏览器。查看日志中IE7报错的部分并找到错误发生的原因。

11:00 测试位置出现了新的错误。我发现是由于某一名开发者的原因,如果他能修复错误,测试将会继续进行。我发现缺失图片错误的原因是设计师仍然没有图片添加 到源码中。由于仍然报出大量的错误,Will不得不提醒那名设计师。查看进度服务器(设计师的乐园)上的图片,我发现设计师还是没有上传。我为设计师收集 了一份错误列表,其内容是由于缺少图片而产生的错误。我提取了这些错误,记录在一份Excel中,这里提取的仅仅是关于图片的报告。我创建了一个支持工单 (译者注:support ticket 支持工单系统),并发邮件给设计师。

11:11 回到IE7的错误上。通过查看日志,我找到了错误的原因。

11:16 在日志中找到IE7的错误并下载下来。由于文件比较大,下载花费了一点时间。

11:21 从日志中提取50个IE7的JavaScript代码错误。追踪Excel中的错误并试图减少这50行代码的错误。

11:23 发现错误出现在日志的起始处,而不是最近的记录。我对日志进行时间倒序排序并找到更多的错误。

11:26 不再查找Excel中新加入的错误,仅仅查看现在已经记录下来的。

11:30 第一个错误是无法加载谷歌的网站分析服务。原来又是那可恶的百度搜索引擎。

11:31 在开发过程中修复了下一个错误。

11:32 下一个问题发生在Mac中的FireFox浏览器。我想在上Mac需要建立一个完全单独的测试计划,因此我创建了一个支持工单。

11:35 余下的50个错误都是由于同一个Mac系统的问题,我不得不去找一些较早时间发生的错误。

11:37 在错误搜索中,用“或”取代“与”,并试着取消搜索过程,但无反应。

11:42 一封报错邮件提醒我,测试位置发现字体缺失的问题,我将此问题发邮件给设计师。

11:43 之前的搜索过程被取消,开始重新搜索。

11:45 设计师回邮件说,那些文件出现缺失并非偶然,现在问题已经解决了。

11:46 在等待下一批错误的时候,已发布产品又出现了一个不可思议的IE7错误。我用支持工单记录下了这个错误。如果当初我能有时间(5分钟),我绝不会去考虑其他错误细节。

11:50 最后,通过使用textingbot.com网站去查看IE7的错误,我现在知道为什么IE7不得不被淘汰了。除了提示一个模糊的行数、字符位置信息 和“期望一个标识符,字符串或数字”这类日志中已经有的信息,再也没有什么可用的开发工具可以帮助提供更多的错误信息了。

11:52 借助IE7测试浏览器的“查看源码(View source)”功能和之前记录错误的行数,我发现少了几行。再试一次,提示超时。我想我并没有少了那几行,因为IE7报告有一行没有 JavaScript代码,这个功能一定被行数和空白符(空格、Tab和回车)干扰了。

11:57 我刚注意到某页的中间几段JavaScript时,再次被设计师打断。通过查看这段代码,我发现它们主要负责处理移动端显示的问题。我试着直接在测试服务器上编辑这段代码,看看能不能注释掉这些错误。

12:04 不能直接编辑。由于测试服务器需要密码,网络蜘蛛程序禁止我建立索引。这意味着测试浏览器服务无法进入测试服务器。

12:06 哦!!!我进入测试服务器发现错误还在那里。哦不,测试服务器崩溃了。

12:08 重启IE7的测试并再次执行测试,日志上没有出现任何JavaScript错误。

12:09 删除那些可能有问题的代码的注释,我发现错误再次出现在日志中。接下来要缩小范围查找错误。

12:10 测试服务器又开始无反应,无法刷新页面。启动另一个服务器,并登入,我发现依然会出现错误。注释掉一些代码后,我发现错误是由于最后10行代码。为了 确定,我们将这10行代码页注释掉,发现可以运行了。我们再缩小一下范围,加一些alert函数。IE7再次崩溃。

12:26 一些尝试之后,我重启了IE7测试服务器,我发现了错误的原因。由于一段脚本代码使得IE7崩溃,我想这段代码也可以造成其他浏览器崩溃。这些代码不 算很糟糕,我也不会(太)责备设计师。但是,这些代码本来不应该在任何浏览器上运行,更确切的说,进入到产品运行的环境中。它被嵌入到那页代码的中间部 分。这属于JavaScript代码的问题,设计师用它们做一些黑客行为的事情,比如隐藏移动设备的菜单,而且这些JavaScript代码被藏在一页中 的中间部分。这些代码附近并没有放置测试代码,没人会在最初的快速浏览中发现它们。但它们带来的后果显而易见。

12:30 我在源代码中修复了这个bug,并记录下这个过程。接着,我开始解决其他IE7的bug。它们是。。。

12:34 我意识到,我必须将这段经历告诉开发团队,因为他们都可能会写上面那种代码(除了IE7,哪里都可以运行),而且仍然有相当多的用户在使用着这个功能。

12:45 完成这个bug的修复。

上面提到的bug,都是由那些初始化语句中的一个逗号引起的。

一定是有人复制粘贴了这段代码,一天之后,我又在其他地方发现了它们。

原文链接: Ryan O'Neill 翻译: 伯乐在线 - yuliu

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-08-22 14:26:22

程序员/开发者的时间都去哪了?的相关文章

开发者程序员的5个不同层次

提示:本文来自国外程序员所写,里面的内容比较专业,基本涵盖所有程序员所需要的知识结构,对于想要进阶提供自己的开发者来说值得参考. 注意:每个层次的知识都是渐增的,位于层次n,也蕴涵了你需了解所有低于层次n的知识. 计算机科学 Computer Science   软件工程 Software Engineering   程序设计 Programming         经验 Experience   学识 Knowledge     [CSDN编者按] 上述图书中,第一级对应的英文为Unleash

Python 程序员必知必会的开发者工具

Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作,即便他们开发出的工具并没有出现在最终的程序中.本文将介绍Python程序员必知必会的开发者工具. 对于开发者来说,最实用的帮助莫过于帮助他们编写代码文档了.pydoc模块可以根据源代码中的docstrings为任何可导入模块生成格式良好的文档.Python包含了两个测试框架来自动测试代码以及验证代码的正确性:1)doctest模块,该模块可

程序员经常去的 14 个顶级开发者社区(转)

我们来看一下程序员经常去的 14 个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获. Stack Overflow 9 月份,Stack Overflow 也将迎来其 6 岁的生日,毫无疑问,Stack Overflow 是全球最受程序员欢迎的开发社区,而且也是内容最丰富的社区之一. 官方网站:http://stackoverflow.com/ Reddit reddit 也是一个非常富有个性的社区,你可以在 reddit 上提交一些感兴趣的话题,也可以和其他程序员讨

程序员、黑客与开发者之别

程序员.黑客与开发者究竟有何区别?这个问题往往会引发踊跃的讨论与辩论.但是我看到的很多说法往往至少在一个重大方面是有瑕疵的,所以在此我愿给出我的定义,希望这个定义能够更准确些. 程序员是能够通过操纵计算机代码解决问题的人.他们的技能水平可高可低-从掌握基本脚本的入门级到可利用任何一门语言的绝对巫师都算是. 黑客是做东西的人.在本文背景下,是指通过对计算机编程做东西的人.这是对这个术语的原创.纯粹的定义,比方说,你有了一个想法以后就设法 "破解" 某个东西让它可以工作.这个词也可用到修改

开发者版本:你属于哪个版本的程序员? [转]

国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本.相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言N版本的程序员或许更方便直接.根据作者的观点,可将WEB开发者大致分为以下几个版本: Alpha:阅读过一些专业书籍,大多数能用Dreamweaver或者FrontPage帮朋友制作一些Web页面.但在他们熟练掌握HTML代码以前,你大概不会雇佣他们成为职业的WEB制作人员. Beta:已经比较擅长整合站点页面了,在HTML技巧方面也有一定造诣,但还是用

开发者和程序员需要关注的42个播客

[编者按]本文作者为 Karen Sowa,文中列举了开发者与程序员可能会使用到的42款播客,涉及Java,Ruby以及移动开发等方面.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 如今,软件开发的步伐想要紧跟时代潮流实属不易,但是功能丰富的播客还是十分有用的:可以为用户提供通勤.健身或是其他空闲时间的娱乐.因此,本文总结了如下所示的播客列表,希望帮助用户找到最适合自己的播客.如果有所遗漏,欢迎进行补充! Java The Java Posse2015年首播的The Java Pos

【2017中国开发者调查报告】你看那个人,好像一个程序员哦!

摘要:2017云栖大会北京峰会期间,即将重磅发布首份<2017中国开发者调查报告>,历时3个月的调研,7032人参与调查问卷,最终呈现出一份集开发者画像与能力的完整描绘.想了解最接地气的中国开发者现状吗?想知道中国的码农们都在经历着些什么吗?本文就为大家揭晓答案. 12月20日,2017云栖大会北京峰会期间,即将重磅发布首份<2017中国开发者调查报告>,历时3个月的调研,7032人参与调查问卷,最终呈现出一份集开发者画像与能力的完整描绘.<2017中国开发者调查报告>

很认真的聊一聊程序员的自我修养

今天谈一谈,程序员提高自我修养是为了什么?     程序写的好有人崇拜,有妹子喜欢?还是到博客.论坛.社区发表文章进行分享获得成就?我想这是少数人的追求,也是更高的追求,在这之前 我认为,在中国,程序员提高自我修养的目的,是为了 1.更好的融入工作,减少困难,增加成就 2.稳步的提升能力,提高收入,达成财务自由 2.站在更高的层面看待自己的学习和工作,树立更加适合的人生观价值观,家庭幸福,生活愉快 说的更通俗一点,就是用更加合理的方式和方法,赚取到更多的收入   说了这么多废话,进入正题 何为程

程序员,是时候让大家听听你的声音了!(文末有福利!!!)

程序员拥有魔术师般的神奇,指尖代码就能改变世界,而同样,他们的世界也并非波澜不惊. 据不完全统计,全球有数千万程序员,竞争的激烈程度可见一斑,坊间甚至有传出这么一条鄙视链:写汇编的鄙视写C的,C程序员的鄙视C++,C++鄙视Java和C#,Java和C#相互鄙视,Python和Ruby相互鄙视,Scala.JRuby.Clojure一起鄙视Java- 同是天涯沦落人,相煎何太急! 不仅如此,每位程序员成长的背后都一段血泪史: 五花八门的编程语言,哪个最热门? 什么行业.什么岗位的薪资更高? 各个