记录问题解决日志
——
高效程序员的
45
个习惯之习惯33
“在开发过程中是不是经常遇到似曾相识的问题?这没关系。以前解决过的问题,现在还是可以解决掉的。”
面对问题(并解决它们)是开发人员的一
种生活方式。当问题发生时,我们希望赶紧把它解决掉。如果一个熟悉的问题再次发生,我们会希望记起第一次是如何解决的,而且希望下次能够更快地把它搞定。
然而,有时一个问题看起来跟以前遇到的完全一样,但是我们却不记得是如何修复的了。这种状况时常发生。
不能通过
Web
搜索获得答案吗?毕竟互联网已经成长为如此令人难以置信的信息来源,我们也应该好好加以利用。从
Web
上寻找答案当然胜过仅靠个人努力解决问题。可这是非常耗费时间的过程。有时可以找到需要的答案,有时除了找到一大堆意见和建议之外,发现不了实质性的解决方案。看到有多少开发人员遇到同样的问题,也许会感觉不错,但我们需要的是一个解决办法。
要想得到更好的效果,不妨维护一个保存曾遇到的问题以及对应解决方案的日志。这样,当问题发生时,就不必说:“嘿,我曾碰到过这个问题,但是不记得是怎么解决的了。”可以快速搜索以前用过的方法。工程师们已经使用这种方式很多年了,他们称之为
每日日志
(
daylog
)。
不要在同一处跌倒两次 Don't get burned twice
可以选择符合需求的任何格式。下面这些条目可能会用得上。
-
问题发生日期。
-
问题简述。
-
解决方案详细描述。
-
引用文章或网址,以提供更多细节或相关信息。
-
任何代码片段、设置或对话框的截屏,只要它们是解决方案的一部分,或者可以帮助更深入地理解相关细节。
要将日志保存为可供计算机搜索的格式,就可以进行关键字搜索以快速查找细节。图
7-1
展示了一个简单的例子,其中带有超链接以提供更多信息。
图
7-1
带有超链接的解决方案条目示例
如果面临的问题无法在日志中找到解决方案,在问题解决之后,要记得马上将新的细节记录到日志中去。
要共享日志给其他人,而不仅仅是靠一个人维护。把它放到共享的网络驱动器中,这样其他人也可以使用。或者创建一个
Wiki
,并鼓励其他开发人员使用和更新其内容。
维护一个问题及其解决方案的日志。
保留解决方案是修复问题过程的一部分,以后发生相同或类似问题时,就可以很快找到并使用了。
切身
感受
解决方案日志应该作为思考的一个来源,可以在其中发现某些特定问题的细节。对于某些类似但是有差异的问题,也能从中获得修复的指引。
平衡的艺术
-
记录问题的时间不能超过在解决问题上花费的时间。要保持轻量级和简单,不必达到对外发布式的质量。
-
找到以前的解决方法非常关键。使用足够的关键字,可以帮助你在需要的时候发现需要的条目。
-
如果通过搜索
Web
,发现
没人
曾经遇到同样的问题,也许搜索的方式有问题。
-
要记录发生问题时应用程序、应用框架或平台的特定版本。同样的问题在不同的平台或版本上可能表现得不同。
-
要记录团队做出一个重要决策的原因。否则,在
6~9
个月之后,想再重新回顾决策过程的时候,这些细节就很难再记得了,很容易发生互相指责的情形。
分享到:
相关推荐
【优秀程序员的十个习惯】 1. 持续学习与跟进新技术:作为优秀程序员,保持对新知识的渴望至关重要。不断学习新的编程语言、框架和工具,关注行业动态,参与专业社区讨论,如CSDN、ITPUB、CHINAUNIX、digg.com等,...
本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者共同撰写。书中所提到的45个习惯,不仅涉及软件开发过程、编程和调试工作,还包括了开发者的个人态度、项目和团队管理...
以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **学无止境**:持续学习是优秀程序员的基石。随着技术的快速发展,必须不断关注新出现的语言、框架和编程实践,通过阅读专业文章、参加在线讨论和社区...
优秀程序员的45个习惯.rar ok good
优秀程序员的45个好习惯,看看总有好处的
高效程序员45个习惯,为你的个人拓展提供发展方向
优秀程序员的好习惯共2页.pdf.zip
高效程序员的45个习惯 英文完整版 V.Subramaniam, A.Hunt - Practices of an Agile Developer - Working in the Real World. 2006.pdf
标题中的“程序员的45个良好习惯”是一个旨在提升编程技能和团队协作效率的指南,描述强调了通过培养良好的习惯来提高自身编程水平,成为优秀的程序员。这些习惯涵盖了态度、学习、开发流程、用户、编程、调试和团队...
如何成为一个优秀的程序员:深入解析与实践指南 在IT行业,成为一名优秀的程序员是众多技术追求者梦寐以求的目标。在《如何成为一个优秀的程序员》一文中,作者罗伯特·L·里德(Robert L. Read)列出了多达一百条...
优秀程序员之路 Java开发经验及技巧大汇总优秀程序员之路 Java开发经验及技巧大汇总优秀程序员之路 Java开发经验及技巧大汇总优秀程序员之路 Java开发经验及技巧大汇总优秀程序员之路 Java开发经验及技巧大汇总优秀...
【Java优秀程序员编程规范】 Java编程规范是提升代码质量、可读性和维护性的关键,它指导程序员编写清晰、一致且易于理解的代码。遵循规范能够提高团队协作效率,减少后期维护的成本,也是专业程序员的基本素养。 ...
在《优秀程序员面试攻略》中,你可以找到以下几个关键知识点: 1. **基础理论**:这部分涵盖了计算机科学的基础概念,包括数据结构(如数组、链表、树、图等)、算法(排序、搜索等)、操作系统原理(进程、线程、...
### 程序员成长路线图:从入门到优秀 #### 一、程序员的梦想与现实 ##### 1.1 程序员的梦想——中国的比尔·盖茨 在IT行业中,很多程序员都有着一个共同的梦想——成为中国版的比尔·盖茨。这种梦想不仅仅是对...
程序员成长路线图 从入门到优秀