码迷,mamicode.com
首页 > 其他好文 > 详细

构建之法阅读笔记01

时间:2017-12-03 21:48:41      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:ror   int   作用域   code   项目   全面   exit   cal   重要   

了解软件工程的基本概念,软件工程和计算机科学与技术的主要不同,单元测试,回归测试,效能分析,个人软件开发流程(PSP),软件工程师的成长,代码规范。

程序(算法、数据结构)是基本功,软件构建不但要有合理的软件架构(Software Architecture)、软件设计与实现(Software Design,Implementation and Debug),还要有各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等。
源代码管理(Source Code Control)也叫配置管理(Software Configuration Management)。
保证开发出来的软件的质量(Quality Assurance);具体的验证过程叫做软件测试(test)。
软件团队要从需求分析(Requirement Analysis)开始,把合适的需求梳理出来,然后逐步展开后续工作,如设计(软件架构)、实现(写数据结构和算法)、测试,到最后的发布软件。
了解程序的设计叫做程序理解(Program Comprehension),在运行过程中出现问题修复问题叫软件维护(Software Maintenance)或者服务运营(Service Operation),这一系列过程叫做软件的生命周期(Software life cycle,SLC)。
在这一周期中,有人负责软件项目的管理(Project Management)用户体验(User Experience)国际化和本地化(Globalization&Localization)。
软件=程序+软件工程
软件具有复杂性(Complexity)、不可见性(Invisibility)、易变性(Changeablity)、服从性(Conformity)、非连续性(Discontinuity)
软件工程主要面向于人,目标为创建足够好的软件。
经过阅读发现单元测试复杂众多,保证所有的代码都得到了基本的测试,需要考虑的方面繁多。单元测试应该在最基本的功能/参数上验证程序的正确性,必须由最熟悉代码的人来写(最好在设计的时候就写好单元测试,体现API语义);单元测试过后,机器状态保持不变;测试要快,应该产生可重复、一致的结果;独立性(不依赖别的测试),覆盖所有的代码路径,应该集成到自动测试的框架中(每个人能随时随地运行单元测试),单元测试必须和产品代码一起保存和维护。
回归测试是项目的稳定阶段,所有人都要参加全面的测试工作,把以前发现并修复的Bug找出来,一个一个验证,防止复发。
效能测试一般先用抽样方法找到效能瓶颈所在,然后对特定模块用代码注入方法进行详细分析,继续进行“效能测试,分析,改进,再效能测试”,逐步提高程序效能和编程水平。
PSP记录工程师实现需求的效率。
在实践中,我们可以从数据、需求、用户、软件构建方面扩展。
软件工程师的思维误区:分析麻痹;不分主次,想解决所有的依赖问题;过早优化;构造扩大化、泛化;目标与前景过大。
代码规范,简明、易读、无二义性,合理使用匈牙利命名法命名变量,下划线用来分隔变量名字中的作用域标注和变量的语义,所有的类型/类/函数名用Pascal(第一个字母大写)形式,所有变量用Camel(第一个字母小写其余随Pascal),注释用解释程序做什么,为什么这么做。
经过学习,知道了软件工程的基本概念,可以用专业词来描述软件工程中的具体操作,明白了学习中的困惑,算法等是基本功,知道了一个软件的开发流程及生命周期的具体操作,要学好基本功,扎实能力才能进一步提高。知道了单元测试的重要性,以前一直纠结于程序的error怎么改,现在才明白error改完后面还有许多需要测试,深挖隐形陷阱,一个完整的软件需要大量的工程,俗话说,罗马不是一日建成的,我们应该将功能细分,不要着急,一步步做好。对于代码规范,这个对于团队合作特别重要,要让他人读懂你写的代码或者后期修改代码时看懂,我们不应该省一时之力。

构建之法阅读笔记01

标签:ror   int   作用域   code   项目   全面   exit   cal   重要   

原文地址:http://www.cnblogs.com/watm/p/7967298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!