近期总结

来源:互联网 发布:普通水准测量记录数据 编辑:程序博客网 时间:2024/05/01 19:26
1 一个图形程序如果能够提供脚本功能,那么会大大增加软件复用的机会。

2 事务和事物之间有关系的,而且通常不止一个,那么在这些关系中,他们都是正交的吗?如果不是这些关系就可以化简,保留住最基本的关系,去掉上层的关系

3 关于组件化的再次总结
  A.代码层的组建化,效果是如果库程序改动,那么客户端需要重新编译,但客户端代码不需要改动,这也就是说,只要客户端代码调用不到的类库代码都可以在下次修改的时候改动,具体情况又可以再分
    a.使用动态多态机制
        1.传统class,将成员声明为私有,这样最容易改变的部分就被隐藏起来了,无论是通过继承还是包含都无法将类库的实现细节散布到客户端代码中去,但这个代码很难向二进制层的组建模型转换。
        2.struct + abstract virtual作为接口的表现方式,struct中只能包含类型声明,常量定义,和函数声明,实现的信息全部都放到实现的类中去了,给客户端代码暴露的只有这个struct,这样的布局模式和第一种从这个组建化层次中没有什么太大的区别,主要是它更贴近于二进制组建模型的要求。
    b.使用静态多态机制
        template class,将成员声明为私有,这种布局方式类似于第一种,但它彻底和二进制组建模型决裂,优点就是性能要远远高于第一,二种布局方式。
  B.二进制层的组建化,效果是如果库代码有改动,那么客户端不需要重新编译,只需要换一个动态库就可以了,这个是在代码层上的更进一步的要求组建化功能,但理想终究是理想,由于现行c++的二进制标准不够健全,单凭一些诡异的技术是无法扭转大局的.一旦将平台可移植性的要求加入需求,则这一布局方式基本就被否定了

4 关于版本控制
  这个问题需要小心的处理,否则...,一般来说,版本控制的无非就是代码的合并时产生出的问题,一般来说,在多人进行合并的时候,最容易出现问题的就是在公共代码区,有些接口不该改的被改了,该改的在不适当的时候改了...解决的主要方法就是需要在代码合并的时候,各人只提交修改过的文件,然后合并的时候对接口文件用对比软件逐行对比,确保无修改,实现文件可以整个文件进行更新,一般的文本编辑器都会提供文件自动备份功能,我们可以通过这个备份文件很迅速的知道哪个文件被修改,而不用去对比修改日期等信息,这样效率更高些.

5 关于集成开发环境
  编辑代码的时候还是建议使用专业的编辑器,特别是要有文件自动备份功能的(上文已提到它的另一用法),在编译时可以尽量多的使用不同的编译器,这样可以找出更多的语法错误,在windows下vs系列的ide功能虽然强大,但只建议在调试阶段使用
 
原创粉丝点击