《Head First 软件开发》阅读四
构建代码:自动化构建
代码的完成不只是能运行,还包括编译代码和打包成可配置的单元。学会一个构建工具来编写自己的说明处理源代码。新的团队成员需要立刻知道软件的关联组件和主要类去做测试,但开发人员不是心理学家。所以构建项目是必须的。一个java项目的构建工具Ant(能编译代码、打包文件)可以帮助我们构建脚本,它分为四个基本块:项目、属性、目标、任务。之后新的开发人员可以从构建脚本中快速运行。构建工具是服务于整个团队的。所以构建工具也是一个团队的核心。
测试和连续集成:智者千虑必有一失
有时候,优秀的开发人员也会破坏构建版本,我们需要设置一张安全网,并富有生产力。
当事情出错时,有三种方式检查系统:从外面看系统、测试人员深入探究、开发人团让系统全透明。必须兼顾三方面的观点,做出一个正常的测试。黑箱测试的重点是输入和输出(功能性、用户输入验证、输出结果、状态转换、边界案例与缓冲溢出错误),灰箱测试使你更加贴近代码(可以窥视一下系统),白箱测试利用系统内部的内部知识。测试套件执行的时间越长,就可能执行的次数越少。测试的时间尽可能的缩短。
测试驱动开发:让代码负起责任
测试在先,而不是在后。先做测试,通过编写最简单的代码使测试通过,让你的测试亮绿灯。测试驱动开发的宗旨是为特定的功能创建测试程序,然后编写代码满足功能要求。对软件系统来讲,超过功能的任何事情不重要。
《Head First 软件开发》阅读四的更多相关文章
- 程序员带你十天快速入门Python,玩转电脑软件开发(四)
本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...
- 程序员带你十天快速入门Python,玩转电脑软件开发(三)
声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群5 ...
- SaaS系列介绍之十四: SaaS软件开发分析
1 引言 真正的问题,不是电脑是否具备思考能力,而是人类是否具备这种能力 ________B.F.Skinner<计算机科学> SaaS模式不同于传 ...
- 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端 24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器 想体验服务的时候 ...
- 敏捷软件开发_实例2<四>
敏捷软件开发_实例2 上一章中对薪水支付案例的用例和类做了详细的阐述,在本篇会介绍薪水支付案例包的划分和数据库,UI的设计. 包的划分 一个错误包的划分 为什么这个包是错误的: 如果对classifi ...
- 四种软件开发模式:tdd、bdd、atdd和ddd的概念
看一些文章会看到TDD开发模式,搜索后发现有主流四种软件开发模式,这里对它们的概念做下笔记. TDD:测试驱动开发(Test-Driven Development) 测试驱动开发是敏捷开发中的一项核心 ...
- 《Head First 软件开发》阅读二
项目计划:为成功而筹划 每段伟大的代码始于伟大的计划. 客户现在就要他们的软件,可是开发需要的时间远远超过客户要求时间.我们需要实际解决方法:由客户确定优先级,与客户一起确定优先级顺序,开发出Mile ...
- 《Head First 软件开发》阅读一
伟大的软件开发:让客户满意. 大多数项目的焦点:钱.时间. 我们需要交付的软件系统是需要客户满意,而你认为的完成并不是客户认为的完成. 如果我们不能确定客户需要的是什么,得回去问问他们.这是执行一个项 ...
- python基础之迭代器、装饰器、软件开发目录结构规范
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大 ...
- TCL校园招聘——软件开发工程师(java) 只招5个。。。
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...
随机推荐
- JMeter5.0核心源码浅析[转]
[转自:https://blog.csdn.net/zuozewei/article/details/85042829] 源码下载地址:https://github.com/apache/jmeter ...
- sql 游标的关闭和释放
如果不关闭游标,就会 消息 ,级别 ,状态 ,过程 (过程名),第 xx 行 名为 'c1' 的游标已存在. 消息 ,级别 ,状态 ,过程 (过程名),第 xx 行 游标已打开. 如何关闭游标,其实和 ...
- linux判断httpd端口是否打开
判断端口是否打开 lsof -i:80 判断端口打开了几个 lsof -i:80 | wc -l
- C++ lower_bound
代码 #include<iostream> #include<algorithm> using namespace std; int main(void) { ] = { 0. ...
- js在页面中添加一个元素 —— 添加弹幕
参考地址 [往下拉 —— 使用HTML DOM appendChild() 方法实现元素的添加 ] 一.创建 HTML <div class="right_liuyan"&g ...
- Matlab学习笔记0—课程导入
0,Matlab语言的介绍 1.什么叫计算? 在汉语中,“计算”一词的含义: 谋划 ,考虑 , 算计.随着电子计算机的产生与应用,人们对“计算”的理解发生了很大的变化. (1) ...
- 配置java开发环境,存在多个版本JDK时,怎样让所需版本生效
我本地有个1.7.0的java版本,后来我新装了一个13的版本,但是命令行查java版本的时候,生效的还是1.7.0的版本,经过资料查询以及自身亲测,现将过程记录如下: 1.电脑右键选择--属性--高 ...
- PTA 7-20 表达式转换
转自:https://www.cnblogs.com/yuxiaoba/p/8399934.html 算术表达式有前缀表示法.中缀表示法和后缀表示法等形式.日常使用的算术表达式是采用中缀表示法,即二元 ...
- MyBatis一级缓存的笔记及记录
精髓内容来源于<图灵学院> 一.概述: 一级缓存是MyBatis天然自带的,是默认开启且没有关闭的地方,1级缓存只能作用于查询回话中,所以也叫会话缓存: 这里举个例子: 订单表存在一对多的 ...
- POJ 2492 A Bug's Life 题解
题面 这道题是一道标准的种类并查集: 种类并查集是给每个结点一个权值.然后在合并和查找的时候根据情况对权值来进行维护. 通过将原有的区间范围变大使并查集可以维护种类的联系: #include < ...