前言
可能是由于自己消息“闭塞”,大四去一家公司实习,才知道了 SVN 的存在,才知道源码是有版本控制的。回首往事,才发现自己白白吃了多少苦。
删掉重来与压缩包
大学开始,用 MFC 做一些课程设计,啥都不懂,只会拖拖控件,双击生成事件。经常写着写着,不知道自己不小心改了那一个文件,结果就变异不成功了。发生了啥?不知道。搞不搞的回来?不知道。算了,先打把 Dota 吧。
弄到最后,没办法,,只能删掉,重新建项目,重新拖控件。如果是一开始,错了还好;如果是快完成了,那真的是炸裂。有时候感觉自己手里的是个小瓷人,操作流程绝对不敢造次,一步一步按照书里的来。
后来从一个同学那里学到了一个手法。每隔一段时间,就会把自己的项目文件夹生成一个压缩包。如果出了任何的“意外”,赶紧用最近的一个压缩包,解压出来,终于不用从头再来了。
学习的工具
源码管理,不仅对项目管理极其重要,还可以帮助我们学习。
观察工具背地里做了啥
很多工具,尤其是编辑器,总是会在背地里悄悄地做很多事情。比如自动生成了什么文件,自己生成了什么语句,MFC 里面甚至是把编写的代码和自动生成的代码放在了一起(C++的问题哈)。最开始的根本不知道,它背着我做了什么。
如果早点知道 SVN、git 这些存在。创建项目,提交代码。拖个控件,看下差异。哦,原来拖个控件在这里这里这里都自动添加了代码啊。再来看看这一行什么意思,原来是用来绑定事件的啊。回想起来,简直完美的令人流口水啊。
历史
有很多非常优秀的开源框架,学习它们的变迁是很有意思的事情。
最开始在公司推广 git 的时候,了解到它的最初版是 Linus 花了两个星期的时间用 C 写出来的。如果你想从 git 的源码里面学习新的东西,一开始就阅读最新版的源码可能会很困难,何不去阅读最初版的源码,看看大神思路,看看大神是如何把自己的需求快速转换为实现的。
平时用的一些开源框架,发了新版,对比下两个版本的差异,看看发布日志,看看推出了什么新功能,修改了哪些 bug,以及相关的实现。既学习了新东西,也让项目的使用可以更安心,岂不是两全其美。
甩个锅
希望母校能够把源码的管理早点教给师弟师妹哈。( •̀ ω •́ )y