怎么解决开源软件中的黑洞问题-技术问题解决的最佳实践
一、概述笔者将介绍怎么解决遇到的一些开源软件的问题。这些问题一般是开发人员在用开源软件遇到的,是开发人员所不熟悉的,不像是开发人员自己写的代码,有全盘的掌握。开发人员遇到的开源软件的问题,姑且叫做黑洞问题(开发人员对内部逻辑不清楚,只知道大致情况或者怎么使用此软件,黑洞问题不就是指开源问题,这里只是为描述)。黑洞问题,是非常黑的,对于里面的情况是我们所不清楚的,是测试人员、开发人员经常遇到的。
·
一、概述
笔者将介绍怎么解决遇到的一些开源软件的问题。这些问题一般是开发人员在用开源软件遇到的,是开发人员所不熟悉的,不像是开发人员自己写的代码,有全盘的掌握。开发人员遇到的开源软件的问题,姑且叫做
黑洞问题(开发人员对内部逻辑不清楚,只知道大致情况或者怎么使用此软件,黑洞问题不就是指开源问题,这里只是为描述)。黑洞问题,是非常黑的,对于里面的情况是我们所不清楚的,是测试人员、开发人员经常遇到的。测试人员一般遇到这样的问题的时候就直接给开发人员提交bug了。开发人员遇到了呢?就问更高级的开发人员,更高级的开发人员呢?
二、我们一般怎么做呢
我们遇到一个黑洞问题(笔者是开发人员)会怎么办呢?我们一般会去google、我们一般会去直接问本团队的高级开发人员或者技术专家。基本大部分的开源人员就这两把刷子了。基本上面这样也能解决一些问题,如果他们也解决不了,我们有借口了:这个不是我不行,是大家都不行,也许这个问题没有办法解决。另外一个弊端就是自己无法提高,遇到问题就永远问题别人或者google了。当然还有一些开发,比如笔者以前那样,还不太喜欢问‘大牛’,喜欢自己弄,一个人就在哪里纠结啊,纠结,不断重试,有时候验证一次需要很久时间,但是再重试,脑子一团浆糊,时间一分一分过去,一天一个问题也没有解决,最后只好放弃了。
三、最佳实践
当我们遇到问题的时候,我们应该高兴,意味着我们可以学习成长了。我们一般需要按照事情的紧急程度分别对待。
- 如果是比较紧急的,直接问 公司内的人或者技术专家或者借助搜索引擎,第一时间处理问题。这个不在我谈的范围。至于你认识多少技术专家或者知道多少技术专家,要看你平时的交际与留意。
- 如果事情不紧急,可以慢慢来,那就好办了。
- 想:一定要多想,不要一出问题就盲目重试。要分析好原因,猜测好,最好能找到理论根据再去验证。仔细看日志,看能不能找到蛛丝马迹。
- 搜索引擎,我们大部分都借助这个,一般是http://www.google.com.hk/与http://cn.bing.com/。我们要善于利用关键字来查找问题。技术问题最好用 英文技术名词与异常或者问题地描述。如:sonar hudson code:0001。用一些有区分度的单词。当然一般搜索地都是英文资料。
- 常见问题列表:此列表一般 在开源软件的主页列出了,一般是:Frequently Asked Questions。如soanr:http://docs.codehaus.org/display/SONAR/Frequently+Asked+Questions 这些列表中是常见的问题,很值得查看,即使不是自己有问题,自己学习下也很有意思的。
- 官网文档与书籍,一般介绍了此开源产品,但是有时候内容较多,且很难找到问题,一般可能地是 配置项配置有问题等。可以在文档与数据中找到。这个需要时间,仔细看,还是能找到一些答案的。
- jira等反馈中心,如果是小的问题,问下团队成员就差不多,可能大家都遇到。实在没有遇到,可以给开源产品提交bug,如http://jira.codehaus.org/browse/SONAR等,可以直接与开发者交流。
- 以上统统无效,(搜索引擎找不到答案,大家也没有遇到过,本团队大牛也不知道,开发者比较忙(姑且认为他对他的产品很负责,只是很忙))那就要使大招了,直接下载源码分析,调试。关于怎么做这样的事情,笔者比较懒,后期再写一篇文章吧。
- 最后要记录归档,与同事、同行分享,要是bug就给开源产品开发者提交bug(嘿嘿,我们就是测试者,共同促进开源产品发展)。
四、版权申明
- 此文可以自由转载,请保留 著作者相关信息。
- 原文地址:http://blog.csdn.net/bxyz1203/article/details/6990258
- 作者:就职于 阿里巴巴 封神
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)