读构建之法
第一章:
1.原文描述:在书本第5页,文章谈论了 “软件开发的不同阶段”,形象的将软件开发的不同阶段和造飞机的过程相对比让我对软件开发有了新的认识和更加深刻的思考,其中有一部分引起了我的思索与考虑,那就是书本这张图:
问题:在这节内容中所有阐述的是软件开发的不同阶段,所以说 “写程序练习数据结构、算法,用新的语言尝试一下hello world”也是属于软件开发的一个阶段吗?如果不是的话是不是会给其他读者也造成像我一样的错误理解呢?
我的思考与想法:我所查阅的软件开发不同阶段是从需求分析开始的,如果说现在我写一个程序输出hello world那我说我在进行软件开发的话,我想会有很多人反驳我,这就和文中提到的把截纸飞机玩也当做造飞机的一个阶段一样不可接受,我觉得“写程序练习数据结构、算法,用新的语言尝试一下hello world”是在为以后的开发软件打基础,为自己以后能真正进入合理的软件开发阶段做铺垫,而真正的软件开发是在一个人已经掌握了相应的技术之后从需求分析开始。
第二章:
1. 原文描述:书本21页到29页讨论了单元测试的方法、单元测试的重要性以及好的单元测试的标准,其中主要以C#语言编写的模块进行单元测试为例,读完之后让我对单元测试有了更深的理解和思考,认识到了单元测试的重要性。
问题:我学习并且使用单元测试包Junit编写过java模块的测试程序,在这里又提到了c#的单元测试,是不是针对不同的编程语言都需要存在对应的单元测试工具(类似Junit这样的单元测试包)?在用不同语言整合编写的软件中是不是需要编写不同语言的单元测试?
2.原文描述:第二章的题目是个人技术和流程,在看到这个的题目的时候我的第一想法是,这章应该分享了不少对技术路线的规划干货或者说是一些对个人技术成长的建议,但是当我读完后发现大部分内容都是讲了单元测试和效能分析工具有关问题。
问题:既然题目是个人技术和流程,那么为什么仅仅用单元测试和效能分析工具这两个技术分支来说明问题?难道是由于这两点相比其他技术分支更加重要吗?
第十六章:
原文描述:原文中有这样一段话:
提出一个创新的想法时,我们应该考虑这么几点:
*对利益相关人要讲清楚“你能从中得到什么”。
*创新的想法和目前流行的做法相比,有什么
*相对优势,能让别人清楚地看到这个区别,
*并能够尝试。
*创新和目前大众习惯、已有系统是否兼容。
*避免过度描述复杂的技术。
问题:①如果按照这种创新思维去思考的话,是不是不应该存在颠覆性的创新?颠覆性创新是存在文化排斥等因素的,既然在创新之前需要考虑这几点因素的话,颠覆性创新似乎是不合理的创新了。
②如果一个人想去颠覆性的创新,那么他需要在怎样的精神支柱下进一步创新?他的动机在哪里?
我的想法和思考:每一种新技术的出现,每个行业的持续不断并附有生机的发展都离不开颠覆性的创新,据我查阅资料,党的十九大报告中提到“突出关键共性技术、前沿引领技术、现代工程技术、颠覆性技术创新……”,可见颠覆性技术创新的重要性,所以我们应该鼓励颠覆性创新技术、保护颠覆性创新技术,给行业发展提供更多的原素材。