常识告诉Doxygen注释块必须放在头文件中,其中包含类,结构,枚举,函数和声明.我同意这是一个合理的论据,这些库意味着在没有源的情况下进行分发(只有头和带有目标代码的库).
但是......当我正在开发一个公司内部(或者作为我自己的副项目)库时,我一直在考虑完全相反的方法,该库将与其完整的源代码一起使用.我建议将大的注释块放在实现文件(HPP,INL,CPP等)中,以免混乱标题中声明的类和函数的接口.
优点:
缺点:
那么,您的想法和建议是什么?
我已经阅读了有关存储代码片段的几个讨论,但我找不到我正在寻找的信息,所以让我们定义它:
任何想法,最佳实践,解决方案和类似的经验都值得赞赏.
问题如下:代码库有许多文件,其中使用#if defined(...)指令为每个目标平台有条件地编译了多个块.由于典型的程序员主要在其中一个平台上工作,因此即使代码块在Visual Studio 2005编辑器中显示为灰色,也很难用这些大块非活动代码块读取和导航代码.
让某人知道只折叠未编译但仍存在于源文件中的代码块的功能.
假设您必须实现一些非常简单的功能(每周至少需要1个工作周).您有一个SDK/API /库,其中包含(众多)代码示例,演示了SDK部分用于实现该功能的用法.
您如何处理学习所有样本,提取必要的信息,技术等,以便使用它们来实现"真实的东西".关键问题是:
您是否使用某种工具来绘制控制流程图,SDK中的函数与样本本身之间的相互作用?您认为哪种图表有用?(我认为在这种情况下,UML序列图可以与调试器一起使用).
如何保留SDK/API函数调用的相关且经常相互关联的信息,示例程序中的一般结构和调用顺序必须用作参考 - 思维导图,一些纯文本注释,样本代码中添加的注释,为了使学习更容易,一些重构的示例代码适合您的个人编码风格?
假设我的工作中有一台开发PC,家里有另外一台开发PC,还有一台我经常随身携带的小型上网本PC.由于这些PC具有相同的操作系统,因此不存在可移植性问题.但是......通过类似的设置,您如何在这3台(或更多台)PC上保持已安装的应用程序相同或几乎相同?因为我在家或在旅途中处理类似的事情,我想拥有相同的工具(包括相同版本),源控制服务器,以及当我想要显示某些内容时使生活更轻松的事情在我的工作中在家编码并在此之后使用它,反之亦然.
让我明确一下项目的状态信息:
任何在项目恢复工作时必须记住或写入然后检索的信息(例如,在第二天早上到达工作时,或者在开始工作侧项目的晚上).
例如,当您打开项目/解决方案时,如何,在何处以及以何种形式保存信息下一步操作,当前任务的上下文信息以便继续对其进行操作.项目/任务管理系统不是为处理这种详细程度而设计的,因此我不能将某些现有项目用作项目的基础.我试图容纳像FreeMind(思维导图)或ThinkingRock(Getting Things Done)这样的软件,但它只是不起作用.
我需要的(我认为很多有意识的开发人员会对类似的系统感到高兴)可以用来保存类似于日志的信息.我已经阅读了一些关于开发人员/程序员日志的文章以及工程师日志的一般概念,但从那时起我仍未能实现适合我需求的东西.
该系统不仅可用于纯粹的开发,还可用于涉及更多研发的更多学术项目,尽管有更多研发部分的商业项目(阅读和尝试来自多本书籍,文章和论文).
有关项目进度的信息必须以某种方式记录,以便查找参考,代码,某些决定的推理,注释等.
你知道一些可以做这项工作的软件......或者我必须自己开始编写它.