《构建之法》略读有感

  经过两周的学习,我认为软件工程导论不仅仅是一门课程,更是能推进我们认识专业的桥梁,《构建之法》是浅显易懂并能让我在读完后有些感悟的书,阅读书籍的部分章节,我也有些问题和看法想要与大家分享分享。

第一章:概论

  问题:为什么发明了新的设计语言或者开发流程,却不能改变软件工程根本的难度呢?

 

     在第一章中,我读到了这样的一段话:“例如,有人发明了一种新的程序设计语言,或者又出现了一个新的软件开发流程,或者网上出现了又一个程序员技术社区······这些事并不能改变软件工程的根本难度······软件的这些本质特性让‘做一个好软件’变得很难”。这句话让我感到有些疑惑。书上写学者们总结了软件开发过程中有复杂性、不可见性、易变性、服从性、非连续性的难点,来证明做一个好软件很难。但是,纵览软件工程发展的这么多年,我们的技术提高了不止一个水准。从第一台计算机的诞生,到互联网的形成,再到电商时代的开启,再到大数据时代,信息技术发展的实在是迅速,各式各样的软件开发也是层出不穷,我身为一个前端学习者,仅仅是这一小块的区域,每个月都会“出生”很多更新软件,每一两年,新的语言就会取代旧的语言,登上舞台。大家都说我们“程序猿”实在是辛苦,因为这一类的学习和工作十分的困难和消耗体力,但是在我看来,软件工程的难度在于探索未知领域,而不是解决问题。如果发现到了一个新的领域,那么大家一起合作,探索起来其实没有我们想象的那么难,不然我们的时代也不会进步的这么快,所以我觉得书中提出的难度其实已经解决了,我们心中的难度主要还是能力的不足,太过于局限,不能灵活使用,那些发明了新的设计语言的大佬们,应该只是当做一种挑战吧。

 

第二章:个人技术和流程

 

问题:单元测试应该与团队合作是密不可分的,但是和个人技术的提升关系很大么?

 

     看到了第二章的题目:个人技术和流程,我起初以为是给我们介绍如何提高个人技术,但是看到了开头的单元测试,于是我上网查阅了一下,单元测试是指对软件中的最小可测试单元进行检查和验证。这应该是团队项目的检索验证。但是我想知道的是这和个人技术能力的提升关系很大么?我认为个人技术的提升应该是代码累计和拓宽领域,但是单元测试我觉得不是特别有必要,因为单元测试是团队项目完成后基于一部分的检测,如果说个人代码的检测,打断点就好了呀,所以我很想知道个人技术的提升和单元测试的关系大么?如果不大,为什么第二章的题目要强调个人技术,而实质内容确实团队项目的检查测试和分析呢?

 

第十六章:IT行业的创新

  问题:好的想法确实会在很大程度上取得胜利呀?

 

     创新在我看来,就是首先拥有一个好的想法,然后付诸实践,最后取得成功。但是作者在文中举到了键盘的排版来反驳这个想法,我认为是不太对的。为什么要用以前的QWERTY键盘而不用更好用的键盘呢?无非是我们已经习惯了这样的排版,并且没有人愿意推广新型的排版,如果让一个从来都没有接触过电脑的人去学打字,我认为他应该不会考虑更难的QWERTY键盘,这就是所谓的先入为主。但是好的想法确实很重要,霍金等人的成功不可能是完全依赖先入为主的事物。他们能够在不同的事情上发现不一样的东西,从而想出很好的方案,最后付诸实践。所谓好的想法不一定成功,不是因为这个想法的问题,是因为实力的局限。所以我认为好的想法确实会取得胜利。

      

posted @ 2018-03-17 18:12  wyyue  阅读(141)  评论(6编辑  收藏  举报