VS2017的C++开发心得(五)项目开发的文件夹管理

上一篇介绍了VS默认的项目文件夹路径,但这种路径实际上是不适合大型项目的代码管理的,特别是需要用到云开发的时候。这一篇文章就介绍下,在开发大型项目的时候项目文件夹该怎么管理。

介绍下云开发模式,典型的就是GitHub和微软的Azure。简单来讲就是开发者上传他们的代码到这些服务器上,这种做法有下面几个好处:1.源码在云服务器更安全;2.进行代码的版本管理和分支管理;3.团队协作开发。其中2和3是硬需求。我们进行软件开发的时候,一般发布和开发是同时进行的,所以可能用户用的是1.0版本,而我们已经在开发2.0版本了。这时候如果用户反馈有bug,那我们当然要在对应的版本进行debug。另外有些更新功能可能还不够稳定,需要部分回滚到老代码。以上两种情景下,记录下每个版本对应的源代码就显得很重要了。再比如团队开发,团队里面每个人可能只负责整个程序的一个模块,最后把所有的人的代码合并到一起。通过这些平台的软件可以迅速的合并大家的代码,并且清楚记录下每个bug都是谁写出来的,这个就很棒了。

上面介绍的是为了体现这种开发模式在大项目上的作用,接下来讲讲怎么让自己的代码更方便的管理和上传服务器。

先明确一个主旨:服务器只保存用户数据,不保存VS的生成文件。说的直白点就是如何上传最少的东西让别人下载下来以后可以编译运行。前面一章我们已经介绍过了哪些文件是VS生成的,所以我们要上传的东西就有下面几个:1、用户源码;2、项目配置文件和解决方案文件;3、素材媒体文件;(以后还会有第三方库文件的管理,但在这里不涉及)

1、用户源码:即每个项目里添加的cpp和h文件。

2、项目配置文件和解决方案文件:VS2017的C++开发心得(五)项目开发的文件夹管理_第1张图片

解决方案文件就是.sln

3、素材媒体文件:用户除了代码以外项目依赖的文件,比如:图片,文本,视频...

 

于是我重新调整了之前的解决方案路径,把原来的解决方案文件夹拷贝到新建文件夹“MyProjec1”里面,同时增加了三个新的文件夹如下:

VS2017的C++开发心得(五)项目开发的文件夹管理_第2张图片

“3rd”这个先跳过,这是保存第三方的库文件的。“material”就是保存素材文件,文件夹下一级再按照音频、配置文件、视频、图片这样的分类创建文件夹进行分类管理。

重点看下“usercode”怎么管理源代码,第一级先新建两个文件夹分别管理头文件和cpp文件:

VS2017的C++开发心得(五)项目开发的文件夹管理_第3张图片

第二级按照项目名分类

VS2017的C++开发心得(五)项目开发的文件夹管理_第4张图片

第三级按照VS的筛选器分类

VS2017的C++开发心得(五)项目开发的文件夹管理_第5张图片

VS2017的C++开发心得(五)项目开发的文件夹管理_第6张图片

好,以上就是usercode的文件夹结构,下面看看原来的解决方案文件夹Projec1现在还剩哪些东西,下面图片中上半部分是原来的解决方案文件夹,下半部分是我为了上传而删除掉没用的文件以后的文件夹:

VS2017的C++开发心得(五)项目开发的文件夹管理_第7张图片

然后每个项目文件夹里面,同上上面是原来的文件夹,下面是新的上传文件夹:

VS2017的C++开发心得(五)项目开发的文件夹管理_第8张图片

经过筛选以后,现在只用上传11kb数据到服务器:

VS2017的C++开发心得(五)项目开发的文件夹管理_第9张图片

上传以后,你只要下载Myproject1文件夹,打开.sln就可以打开VS解决方案,编译以后就可以调试了。

顺便提下:其实GitHub上项目都是Cmake的,这里介绍的和Cmake的差别大概就是:Cmake是动态生成.sln,.vcxproj....这些和VS配置相关的文件,而我这里直接把这些上传到服务器。

由于移动了cpp和h文件的位置,所以在原来的项目里面要把原来三个cpp移除,选定右键移除。然后添加在usercode>src>Project1下面的三个cpp到工程,可以直接把文件鼠标拖动到 解决方案资源管理器 里面,或者在 解决方案资源管理器 里面右键Project1工程》添加》现有项:

VS2017的C++开发心得(五)项目开发的文件夹管理_第10张图片

以后添加cpp文件和h文件记得要选到对应的目录下面,不要使用默认路径。每次移动Cpp文件和h文件都要在解决方案资源管理器里面进行重新移除添加。

由于我们还没有用到头文件,所以现在就可以编译运行了。如果用到了头文件,那就要涉及更改头文件的搜索路径的问题,下一篇再详细介绍下VC++目录中主要的三个目录。

你可能感兴趣的:(VS)