根据实例探讨源代码管理

现代软件产业经过几十年的发展,一个软件有一个人完成的情况已经几乎不可见了,软件都是在相互合作中完成的。合作的最小单位是两人。两人一起看代码并发表意见。

代码风格规范:

简明,易读,无二义性(缩进,行宽,括号,断行与空白的{}行,分行,命名,下划线,大小写,注释)

代码设计规范:

函数,goto,错误处理,如何处理C++中的类(类,class vs.struct,公共/保护/私有成员,数据成员,虚函数,构造函数,析构函数,new和delete,运算符,异常,类型继承)

代码复审:

1.找出代码的错误(编码的错误、不符合团队代码规范的地方)

2.发现逻辑错误

3.发现算法错误

4.发现潜在的错误和回归性错误

5.发现需要改进的地方

结对编程:

1.在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作解问题的能力更强

2.增强开发人员的信心

3.取得更高的投入产出比

两人合作的不同阶段和技巧:

1.萌芽阶段

2.磨合阶段

3.规范阶段

4.创造阶段

5.解体阶段


软件设计与实现

1.分析和设计方法

2.图形建模和分析方法

①表达实体和实体之间的关系(思维导图、实体关系图

②表达数据的流动

③表达控制流

④统一的表达方式

3.其他设计方法

①形式化的方法

②文学化编程

4.从设计文档到实现

①将修改即集成到代码中

②开发人员的标准工作流程(如图片所示)

③代码完成


例子;

代码清单1

namespace DemoUser

{

public:ckass User

{

public User(string userEmail)

{

m_email=userEmail;

}

private string m_email

}

}

///<summary>

///A test for User(string)

///</summary>

[TestMethod()]

public void ConstructorTest()

{

string userEmail=null

User target=new User(userEmail)

Assert.Inconclusive("TODO:Implement code to verify target")

}

[TestMethod()]

public void ConstructorTest()

{

string userEmail="someone@somewhere.com"

User target=new User(userEmail);

Assert.IsTrue(target !=null);

}


从上面这个例子可以看出,创建单元测试函数的主要步骤是:

1.设置数据(一个假想的正确的E-mail地址)

2.使用被测试类型的数据(用E-mail地址来创建一个User类的实体

3.比较实际结果和预期结果(Assert.IsTrue(target !=null)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值