打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Table of Contents

Table of Contents

  软件设计就好比造房子。当一个软件bug重重,扩展很困难时,还不如推到了,再重新做一个。在博客上,看到陌陌的劲舞手游,因为在设计上不到位,导致整个手游重新开发; 同时负责这个游戏的项目经理也随之离职。

1 文件的层叠

  现在我们在用eclipse开发软件,在切换文件的时候很麻烦; 因为一个系统模块的文件分布到不同的文件目录里面去,就像珍宝,用层层的布裹着,你需要一层层的打开,才能知其庐山真面目。以下是用tree工具打印的目录树:

  这是我用tree打印的工程文件目录,在这个工程.h和.cpp文件用include和src来分开。如果你要开发一个系统模块,你需要在include的dir1、dir2、dir3和src的dir1、dir2、dir3里面分别新建.h和.cpp文件,因为一个模块又分为了几个子模块。如果你使用一种可视化开发工具中的project explorer来浏览文件,都要把头切换晕了; 要是可能的话module1下面可能还有submodule1文件夹。我觉得系统的模块的层级结构并不是特别需要用文件目录来表现,而且这样子也让Makefile写起来很麻烦; 可能有人会说可以不需要写,自动生成的,用automake。但是当要写一些跨平台的工程的时候,不仅仅在linux下面,还包括windows以及mac,我更加倾向于用CMake。曾经我下载过redis的源码,这是一个用C语言开发的NOSQL数据库,其所有的.c、.h文件都放到了src目录下,简单极了,切换文件很方便; 而且其就只有一个Makefile文件。 在这里,我并不是批评那些在一个工程里面放有目录的人,我是希望尽量能减少目录,尽量把头文件和源文件放到一起; 因为我们在开发项目的时候,同时要兼顾头文件和源文件。我们可以这样子: 

2 命名的规范

  我见过好多搞C/C++的人,比较讨厌Java。首先Java隐藏了指针了,搞得这些同胞们,对人生失去了乐趣; 其次Java的效率问题,觉得始终没有C/C++高; 再者觉得搞Java有点脑残,太简单,垃圾什么的都不用管,有点乱扔垃圾的意思,不文明。但是我要说的时,Java有许多好的设计模式。在文件命名方面,Java做得比较好。java文件名必须要和里面的类必须同名,我觉得C++也应该保持这样的方式,虽然编译器没有强制你这样做,但是很有必要,这样子通过文件名称就能看到里面装的是什么类。其次Java用到了包,在Java编程思想里面包名和你的网络名称一样,这样便于网络传输,不会出现包的冲突,因为网络地址是唯一的。C++里面有namespace,用namespace封装自己的类库,可以防止自己的类库,和第三方的库冲突,不过namespace的名称必须是标识符。 我见过的工程里面,每个程序员都有自己的编程规范,公司的编程规范没有很好的去执行。首先,我觉得好多公司的编程规范不够详细,模棱两可; 其次好多开发人员可能之前在其他公司呆过,保留了上一家公司的编程习惯。如果公司能够确定了好的编码规范,大家还是愿意遵守的。这里我比较推荐google的C/C++编程规范,网上都有电子文档的。还有就是用脚本语言检测程序定期检查编写的代码,是否有不符合规定编码的规范,这些都需要项目经理去认真的执行的。

3 宏的臃肿

3.2 宏的坏处

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
POI导出EXCEL经典实现
易安卓(E4A)类库开发第3讲(详解)
Android项目开发全程(三)
C#自带类库实现邮件发送
Java 获取当前类文件所在的路径
C++笔记:头文件的作用和写法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服