今天跟大家唠唠嗑,说说我最近做的一件“活雷锋”的事儿,标题就叫《我们都是活雷锋张杰》。别误会,此张杰非彼张杰,我就是个普普通通的程序员老哥。
事情是这么开始的,上周五,我正吭哧吭哧的写代码,突然接到我表弟的电话,语气那叫一个着急:“哥,救命!我的毕业设计要交了,结果电脑突然崩了,所有代码都没了!”
我一听,这还了得!毕业设计那可是大事,直接关系到能不能顺利毕业。我赶紧问他:“你用了版本控制没?比如Git啥的?”
结果,我表弟支支吾吾半天,说:“啥是Git?我就直接在本地写的,没备份……”
我当时就想给他一脑瓜崩,现在的小年轻,咋就这么不长心?但也没时间责怪他了,救人要紧!我立马跟他说:“别慌,你先说说你都做了些我看看能不能帮你恢复一部分。”
我开始一步一步的引导他:
1. 让他回忆最近一次修改代码的时间点。 知道这个能缩小搜索范围。
2. 让他检查电脑的回收站。 看看有没有被误删的临时文件啥的。
3. 我开始尝试数据恢复软件。 我自己电脑上常备着几款数据恢复软件,挨个给他远程操作,扫描硬盘,看看能不能找到之前的文件碎片。
4. 分析找到的文件碎片。 数据恢复软件找到了一些文件,但是大部分都乱码了,我耐着性子一点一点的分析,看看能不能提取出有用的代码片段。
5. 查找是否有自动保存的临时文件。 有些IDE会自动保存临时文件,虽然可能不是最新的,但总比没有强。
6. 让他回忆项目结构,尽量回忆能实现的功能。 实在不行,只能靠回忆来重写了。
整整一个晚上,我俩对着电脑屏幕,那叫一个焦头烂额。数据恢复软件跑了一遍又一遍,能找到的文件碎片也尽量拼凑了起来。虽然没能完全恢复,但总算找回了七七八八,大概能有60%左右的代码。
剩下的,就只能靠我表弟自己回忆和重写了。我鼓励他说:“没事儿,至少还有一部分,剩下的抓紧时间补上,实在不行就适当删减一些功能,先保证能跑起来。”
周末两天,我也不敢闲着,时不时就问问他进度,帮他debug,提供一些思路啥的。总算,赶在周一早上交之前,勉强把毕业设计搞定了。
表弟那叫一个感激涕零,说要请我吃饭啥的。我说:“请啥饭,以后记住,代码一定要备份!最好用Git,不会用就赶紧学,这回算给你个教训!”
虽然帮表弟搞定毕业设计累得够呛,但我心里还是挺高兴的。能帮到别人,这种感觉真不错。雷锋精神嘛不就是体现在这些小事上?
- 经验
- 重要的事情说三遍:一定要备份!一定要备份!一定要备份!
- Git是个好东西,强烈建议大家都学起来。
- 数据恢复软件虽然有用,但也不是万能的,提前做好备份才是王道。
所以说,我们每个人都可以是“活雷锋张杰”,只要你愿意伸出援手,帮助身边需要帮助的人,你就是最棒的!