C++项目实践 --工程的组织

C++项目实践

最近做了一个多人协作,规模也不小的C++项目,其中做了很多有价值的实践,在此记录,以来说明C++项目需要关注的各方面的问题

工程的组织

当项目由团队共同开发,而非一人来完成时,工程的如何组织会成为一个重要问题;工程组织它是团队工作的基础,不能很好的解决这个问题,将使项目陷于混乱。 而此问题的本质是,建立何种工程结构以保证,多人并行多版本的有序开发。而这个问题不是使用vs2008这种集成环境,能解决好。 在实践中,我的理解有以下几个方面的工作:

代码目录结构

代码目录结构,是代码内在大粒度逻辑结构的体现;

小的项目,根本不用关心这个问题,直接在在vs2008这样的ide里环境就可以搞定了。但当系统要解决的问题越来载大、越来越庞杂时。你要开始考虑更合适的组织你的代码。分层,共公代码库都会出现,而这些都会在你的目录结构中体现。

目录结构,是一个逐步进化的过程;

目录很重要,但也不需要一开始,就本着假想的终级目标一次搞定。 这是错误的,因为更细粒度的目录结构的使用是有成本的。而以你自己假想的目标一定是错误的。所以还是目录结构还是随着实际需要来慢慢进化吧。

版本管理

版本管理不仅仅为了防止代码的丢失

团队中,我们时常常把没

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 译者序 前言 第1章 风格 1 1.1 名字 2 1.2 表达式和语句 4 1.3 一致性和习惯用法 8 1.4 函数宏 14 1.5 神秘的数 15 1.6 注释 18 1.7 为何对此费心 22 第2章 算法与数据结构 23 2.1 检索 23 2.2 排序 25 2.3 库 27 2.4 一个Java快速排序 29 2.5 大O记法 31 2.6 可增长数组 33 2.7 表 35 2.8 树 39 2.9 散列表 43 2.10 小结 46 第3章 设计与实现 48 3.1 马尔可夫链算法 48 3.2 数据结构的选择 50 3.3 在C中构造数据结构 51 3.4 生成输出 54 3.5 Java 56 3.6 C++ 59 3.7 Awk和Perl 61 3.8 性能 63 3.9 经验教训 64 第4章 界面 67 4.1 逗号分隔的值 67 4.2 一个原型库 69 4.3 为别人用的库 72 4.4 C++实现 79 4.5 界面原则 82 4.6 资源管理 84 4.7 终止、重试或失败 86 4.8 用户界面 90 第5章 排错 93 5.1 排错系统 94 5.2 好线索,简单错误 95 5.3 无线索,难办的错误 98 5.4 最后的手段 101 5.5 不可重现的错误 103 5.6 排错工具 105 5.7 其他人的程序错误 107 5.8 小结 108 第6章 测试 110 6.1 在编码过程中测试 110 6.2 系统化测试 114 6.3 测试自动化 118 6.4 测试台 120 6.5 应力测试 123 6.6 测试秘诀 125 6.7 谁来测试 126 6.8 测试马尔可夫程序 127 6.9 小结 129 第7章 性能 130 7.1 瓶颈 130 7.2 计时和轮廓 135 7.3 加速策略 138 7.4 代码调整 140 7.5 空间效率 144 7.6 估计 145 7.7 小结 147 第8章 可移植性 149 8.1 语言 149 8.2 头文件和库 154 8.3 程序组织 156 8.4 隔离 159 8.5 数据交换 160 8.6 字节序 161 8.7 可移植性和升级 164 8.8 国际化 165 8.9 小结 167 第9章 记法 169 9.1 数据格式 169 9.2 正则表达式 174 9.3 可编程工具 180 9.4 解释器、编译器和虚拟机 182 9.5 写程序的程序 186 9.6 用宏生成代码 189 9.7 运行中编译 190 后记 195 附录:规则汇编 197 索引 200

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值