读《构建之法》

从去年7月份开始陆续看了想SICP,CLRS,CSAPP和几门相关的公开课以后(因为实力不足,这几本书,几门课都只是通读了一遍),但看完以后写代码的心情就越来越逼迫。

于是买了邹欣老师的《构建之法》和在udacity上选修了一门叫《programming language》的课(主要是用Python写一个JavaScript和HTML的解析器)

现在《构建之法》看到第四章,心里有一点小疑问,便记录下来:
1:书中一直强调关于测试,命名,代码规范,开发流程等相关东西。但我却认为,如果一名程序员在构建过程中,最注重的不应该是程序设计和代码抽象封装之类的内容吗。

我不是说代码规范,测试,开发流程这些不重要。而是我买这本书本来是希望书里面能告诉我一个真正的程序员中在实际开发中如何构建他的代码。比如他要写一个小游戏(打砖块),要他怎么开始,怎么写挡板,写子弹,写砖块。写完这个游戏以后,如果要开发另一个小游戏,要怎么把现有的代码抽象,使得新游戏可以使用打砖块游戏的代码。在这个开发过程中,给我们普及一些比如命名,抽象封装,debug等软件工程的内容。所以我很怀疑,就是单纯地列出这些标准。没有相关练习和项目联系的话成果会有多好。

但事实上,市面上也很少有书或公开课直接给我们如何从实际项目中演示关于如何测试,命名,(培训班的不太算吧,看过一些培训班的视频都是所以材料都已经准备好了,包括遇到的bug也是准备好的)。SICP到有说,但是里面说的内容和我们工作中的处理内容还是不太一样的。所以说代码风格各异也是有点原因的。

作为一名干了一年的测试,总结一下开发在开发过程一些让我很困惑的现象
1:对语言或开发的领域本身不够了解。
2:开发过程代码抽象封装得不好,比如一个下载方法,他又在下载成功方法调用加载图片的方法。
3:大家都看不懂对方的代码和写法。
4:没有单元测试(没错,我司就没有。。。)
5:一些边界值,条件分支没考虑全
6:不了解需求就开始做,或者说叫以为自己了解需求了。
7:懒,总想着这样改方便一点,但是事实上改了这里不行,又要改另外一个地方,最后忙了一天,最后还是用了我跟他说的方法。

到第四章为止有两点我是很喜欢的:
1:是关于技能熟练度的,作为初始化个数组都要百度的我,看到这点更坚决了我接下来这段实际要多谢多读的想法。
2:单元测试,作为一名测试,还不太会写单元测试,真的罪过。。。。

发现好像有专门课程讲述那些程序设计,抽象封装的内容的,打脸了。。。才写完5分钟

posted @ 2018-03-17 09:37  Raisu  阅读(99)  评论(1编辑  收藏  举报