结对项目1总结
结对编程人员:杜正远
一、结对编程的优点和缺点
优点:结对编程减轻了个人对于代码部分的压力,提高了开发更高难度的应用软件的能力
缺点:在两人实力水平不均的情况下,工作分配不得不因此倾斜
二、结对的每一个人的优点和缺点在哪里
潘礼鹏:
优点:思路清晰
善于总结
有难必问
缺点:水平有限
杜正远:
优点:经验丰富
代码简洁
思路清晰
缺点:在ddl前开工
三、如何利用information Hiding, interface design, loose coupling
information Hiding
1 多层设计中的层与层之间加入接口层
2 所有类与类之间都通过接口类访问
3 类的所有数据成员都是private,所有访问都是通过访问函数实现的
interface design
充分考虑用户需求
loose coupling
可以编写专门的接口类,降低不同类之间的耦合度
四、Design by Contract, Code Contract的优缺点,如何融入你的设计中
契约编程要求软件设计者为软件组件定义正式的,精确的并且可验证的接口,这样,为传统的抽象数据类型又增加了先验条件、后验条件和不变式,保证了程序内部的变量名,方法名,方法功能,前置后置条件的一致性。
在结对编程中,可以在开工前事先约定好各自编写模块的变量名,函数名以及前置后置条件,达成了一定的契约。这样在各自交付半成品的时候不需要做太多改动。
五、算法实现
生成方面,通过选择是否支持分数、括号、乘除、负数,在这个前提下先随机生成运算符号,再生成数字,随机组合,生成的字符串以哈希表的形式存储,便于处理重复生成问题
校验方面,把算数表达式中缀转后缀,运算出结果,和答案文件里面的内容一一比对,得出最后得分