《构建之法》第一、二、16章阅读随笔

第一章:概论程序员

有一个朋友问我:“大家软件工程和计算机的课表差很少,大家有c有Java,他们也有,大家要学计算机组成原理,他们也要学,有什么区别吗?”大一我还真的没法回答,我只知道咱们学费是他们三倍,可是学的课程差很少,师资也差很少,甚至同样的老师。读了第一章有了必定的认识。函数

问题:那么咱们为何有那么多同样的学科?单元测试

思考:科学家和工程师的区别:一个是回答why的问题,一个是回答how的问题;一个培养的能力是ask/answer why,一个培养的能力是know-how.那么咱们为何有那么多同样的学科?我想两个缘由分别是软件须要一些计算机科学中的相应知识和对于之后又多一条选择之路。测试

第二章:我的技术和流程编码

 

问题1:什么是单元测试?spa

 

百度答案:单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。一般而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,而后确认该值出如今list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,而后确认字符串确实再也不包含这些字符了。 单元测试是由程序员本身来完成,最终受益的也是程序员本身。能够这么说,程序员有责任编写功能代码,同时也就有责任为本身的代码编写单元测试。执行单元测试,就是为了证实这段代码的行为和咱们指望的一致。blog

 

问题2:优秀的资深的程序员是否能够不作单元测试 ?支付宝

答案:在真实世界里,每一个人都会犯错误。即便某个开发人员能够抱着这种态度在不多的一些简单的程序中应付过去。 但真正的软件系统是很是复杂的。真正的软件系统不能够寄但愿于没有进行普遍的测试和Bug修改过程就能够正常工做。 编码不是一个能够一次性经过的过程。在真实世界中,软件产品必须进行维护以对操做需求的改变做出反应, 而且要对最初的开发工做遗留下来的Bug进行修改。你但愿依靠那些原始做者进行修改吗? 这些制造出这些未经测试的原始代码的资深专家们还会继续在其余地方制造这样的代码。在开发人员作出修改后进行可重复的单元测试能够避免产生那些使人不快的负做用。开发

个人思考:繁琐的步骤是不能侥幸省略的,人非圣贤,若是那些省略的步骤正好能规避麻烦,你刚好省略了,那么将形成系统的麻烦。字符串

 

 第十六章  IT行业的创新

说到创新,我反应是如今的软件基本可以知足咱们的须要,创新是很难了,除非是有很大的技术飞跃。经过对各类现有技术的有效集成,造成有市场竞争力的产品也是一种很好的方法,好比美团,从外卖到旅游,能够吃喝玩乐,还能买机票。支付宝也具备愈来愈多的功能,也是一条集成化的道路。

“不太作广告,主要靠口口相传,容易被技术进步淘汰”,的确做坊会被技术进步淘汰,由于他没有大公司的实力。好比说如今很火的“吃鸡”,感受他就是找了一群忠实的粉丝,而后靠这群人来扩散,而后就造成了若是你不吃鸡你就out了的形势,这是一种成功的手段。创新要把握时机,不然面对的是风险和淘汰。

相关文章
相关标签/搜索