在实现源代码管理时,应考虑对项目进行以下设计决策。
信息是共享的还是私密的?
你可以做出最重要的设计决策是哪些信息是可共享的,什么是私有的。 例如,共享项目的文件列表,但在此文件列表中,某些用户可能想要有专用文件。 编译器设置是共享的,但启动项目通常为专用项目。 设置可以是纯共享的、可覆盖共享的,或者纯粹是私有的。 根据设计,专用项(例如解决方案用户选项(.suo)文件)不会签入 Visual SourceSafe。 请务必将任何私人信息存储在专用文件中,例如 .suo 文件或你创建的特定专用文件,例如 Visual C# 的 .csproj.user 文件或 Visual Basic 的 .vbproj.user 文件。
此决定并非全面,可以按项目逐一决定。
项目是否包含特殊文件?
另一个重要的设计决策是项目结构是否使用特殊文件。 特殊文件是隐藏的,它们是解决方案资源管理器和签入签出对话框中可见文件的基础。 如果使用特殊文件,请遵循以下准则:
不要将特殊文件与项目根节点(即项目文件本身)相关联。 项目文件必须是单个文件。
在项目中添加、删除或重命名特殊文件时,必须使用指示文件是特殊文件的标志集触发相应的 IVsTrackProjectDocumentsEvents2 事件。 这些事件由环境调用,以响应调用相应 IVsTrackProjectDocuments2 方法的项目。
项目或编辑器请求QueryEditFiles文件时,不会自动检出与该文件关联的特殊文件。需将特殊文件与父文件一起检出。 环境将检测传入的所有文件之间的关系,并适当地隐藏签出 UI 中的特殊文件。