新项目

dev*_*vin 7 projects

我认为我处于一种独特的情况:我在Linux环境中拥有相当数量的C/C++编码经验.但是,我并没有"项目经验".例如,我熟悉版本控制的概念,但我从未使用过任何版本控制.或者,我从未参与过六个以上源文件的项目.

所以,我现在所处的位置是我正在使用已存在的大量代码来处理这个项目.我必须使用Visual Studio 2008在Windows环境中编写所有代码(Visual C++是具体的)所以我有几个问题:

如何将已有的代码集成到VC++中?我正在使用陆龟SVN,我的机器上有所有代码......

有没有人对从小项目转向大项目有什么一般建议?

任何帮助/建议将不胜感激

Mat*_*t J 3

掌握大型代码库的一些关键:

  • 了解源代码控制的来龙去脉。现在,首先学习所有 SVN 命令的工作原理。 SVNBook是一个很好的资源。使用VisualSVN或类似的插件与 IDE 中的存储库进行交互(当您想从其他地方进行交互时,Tortoise 仍然很有用)。接下来,您将需要非常熟悉分支和合并(以及快速正确地执行此操作的工具),也许还需要学习 DVCS(分布式版本控制系统),例如GitMercurial。这至少会扩展您的思维,并且可能会教您一些即使在使用更传统(集中式)版本控制的项目中也很有用的课程。
  • 了解如何快速查找事物、查找不熟悉的类和变量的声明以及跟踪较大应用程序的执行情况。有很多方法可以实现这一点,您可能会在某个时候使用其中的大多数,但其中一些是您的 IDE 的内置功能(其中大多数在这方面非常强大,您应该能够右键单击类名并轻松找到其声明)grep等(ack是非常适合代码探索的变体),以及CTAGS(如果您采用这种方式(C/C++))。
  • 学习单元测试的基础知识,甚至可以尝试像NUnit这样的框架。就我个人而言,我不太热衷于单元测试,但我认识到它们的实用性,并且许多人都对它们发誓,所以至少在您尝试过之前不要轻易尝试。
  • 即使您是一位完美的程序员,拥有一系列强大的单元测试,由于突然出现的问题固有的复杂性,大型代码库也需要更高水平的调试技能。无论是学习如何编写简洁的、描述性的类似调试的printf()语句,更加熟悉调试器,甚至学习语言的来龙去脉(例如类型系统/对象模型的极端情况)都有助于解开这些问题。复杂的问题。

不幸的是,我没有使用过 Visual Studio,但我认为了解 IDE 的项目导入/迁移流程也很有启发。也许其他人会在这方面提出更具体的建议。这个过程可能很繁重,特别是如果您之前有一个非标准的自定义构建系统,并且您希望今后一切都以“一种真正的 Visual Studio 方式”完成,但从代码中自动提取依赖关系的工具正在变得越来越好。