如何将一个项目的不同功能分为多个.H和.CPP文件
本帖最后由 oXiFangShiBai 于 2013-02-21 01:54:25 编辑 本人是个新手
学了大概半个月左右了
之前有php和易语言基础
最近自己写了2-3个c++程序,每个项目就用了3个文件,分别是main.cpp xxx.h xxx.cpp
由于所有功能都在xxx里面,所以 这个头文件和源文件很大,很乱
但是我看别人的程序,一个不怎么大的项目,里面会有很多头文件和源文件,说实话,我很是佩服,我感觉把所有代码写到一个文件里,会让程序臃肿 反应慢 会带来不少坏处
别人的代码,一个函数里,只有短短的几句代码,而我的,一个函数里,几十行代码
可是我不会写成很多个文件,我也不好分清这个功能要不要单独弄个文件,那个功能要不要单独写出来
感觉真的是很无助啊,c++的书 我也看了好几本,简单的基础也都知道一些了
但是 似乎还是写不出东西
尝试看别人的代码,感觉还是有点吃力
我到底是哪里没有学好呢
感觉那些c++的教程,跟我说了基础的东西,但是没有告诉我具体怎么去开发一个项目,什么情况下 功能要分开到不同的类里,希望各位前辈指点一二
谢谢了 c++
[解决办法]
>我感觉把所有代码写到一个文件里,会让程序臃肿 反应慢 会带来不少坏处
这是错的。反而还有大项目,写了一个大cpp,include了所有cpp再编译的。当然有了LTCG以后这种做法就没有意义了。但不管怎样臃肿、反应慢,这都是你的错觉。
[解决办法]
你的单元测试类呢?
开始写单元测试之后你就知道那些代码需要独立出来测试了。
[解决办法]
分解代码一般按功能模块凭感觉来划分,直观的感觉一般是好的,但有时候原始的感觉已经不能分解代码了,这时候优秀的程序员会精确细分模型,创建一些新的概念,这些概念的目的就是更好地管理原代码。
[解决办法]
不要为了分而分。写着写着,觉得有必要分出一个文件时再分,几分钟的事。没觉得有必要时,想这些事情白费脑筋。
大文件确实可能使编辑器和编译器反应慢,不过那是非常非常非常大的文件,一般情况不至于。
[解决办法]
这个看你工程分层了,头文件目录和应用文件目录,include和src目录,对应存储响应的.h和.cpp文件,各文件包含内容,视项目而定
[解决办法]
一般是将不同功能放置在的不同的cpp文件中,尽可能耦合度降低,不过,具体情况还是千变万化的
[解决办法]
尺有所短,寸有所长。
分多个.h和.cpp不一定比一个大.h和.cpp好。