本书第三章主讲“基本工具”,前两章说的都是思想上的东西,现在也要开始提供些物质上的干货了。
不知道大家有没有用过纯文本来记录些东西,按找书中所说的,似乎纯文本并不是简单的txt,它面向的是那种XML,SGML和HTML等纯文本例子,我刚接触HTML没有多久,还没有怎么使用纯文本来记录信息,但并不妨碍我对纯文本工具进行了解:纯文本可以保证不过时,具有杠杆作用,同时更易于测试;相对的,它需要的存储资源更多,计算时代价可能更昂贵。
第二个是“shell游戏”,shell语言我在上学期学习Linux时曾接触过,那不是一个很好的回忆,这种直接面向系统的语言总给我一种莫名的压力,不过,既然以后要从事开发项目之类的工作,这种语言我还是有接触的必要的。
之后是“强力编辑”,说到编辑,第一反应都是编辑器吧?我第一个接触的编辑器是Visual Studio 2010,这是在学校机房里使用的VS版本,在回去买了自己的电脑之后,我就使用了VS2015,大一时出去打算法比赛,当时使用的软件是Dev-C++,现在要开始学习Java,web等等,我又下了Eclipse。编辑器本质上跟语言一样,是一个工具,理论上我们只要明白我们需要明白的操作就可以着手工作了,但有没有深入了解的想法呢,深入了解一个编辑器,或许与目前的工作无关,但或许在未来的某个时候,就需要这些操作了吧?还记得前段时间为了修改一下设置,我对自己的Eclipse做了一些整改,各种设定让我眼花缭乱,但改动过后确实方便了不少。
在完成老师布置的代码任务时,我都会把相应的源码保存下来,这不代表我多么勤奋,我只是觉得这是我花了不少力气写出来的,留下来总归是个纪念。现在想想,源码保存就像是游戏存档一样,它给你读档重来的机会,我也曾在之后的学习中受到过源码中一些点子的提醒,毕竟点子都是灵光乍现,说不定保存了源码,可以将其长期保存下来。
编写代码时,bug是不可避免的,这个时候调试就显得尤为重要,调试也要有个基本的思路流程,至少你要先确定在哪里进行调试,现在的编辑器都有调试功能,非常方便也很好用,而这里我想说的是我初学时的调试手段:在认为可能出现bug的地方插入代码进行测试,类似物理电路中测量断路,短路那样。调试过后不是改完错误就可以了,还要进行相应的反思,如果是在团队中,如果有必要则需要做出一些解释,测试本身是没什么好说的,重要的是思路。
最后本书介绍了文本操纵和代码生成器,前者体现出文本操作语言的广泛适用性,后者则是有效节省工作时间。
不管做什么工作,对自己的工具有所了解,才能有效提高工作效率,要成为一个优秀的开发人员,先从“了解自己的工具”开始吧。