如何在C&x2B中处理大型项目+;? 现在我知道了C++的一些基本知识,我必须承认,我仍然很难处理其他C++编写的代码。这可能是固有的,因为C++允许复杂对象层次结构,如果至少一个C++程序没有任何进一步的注释或指令,那么它很难掌握。 我的问题是对你中的有经验的C++程序员来说,更大的问题是:如何能理解其他人编写的大型C++项目? < /P>
如果我试图理解一个大型项目(例如,10000行代码)是如何编写的,我很容易迷失方向,可能会迷失数周。类的函数是指向不同类的函数的指针,这些函数可以重载,也可以不重载,也可以不被其他类继承,等等如何在C&x2B中处理大型项目+;? 现在我知道了C++的一些基本知识,我必须承认,我仍然很难处理其他C++编写的代码。这可能是固有的,因为C++允许复杂对象层次结构,如果至少一个C++程序没有任何进一步的注释或指令,那么它很难掌握。 我的问题是对你中的有经验的C++程序员来说,更大的问题是:如何能理解其他人编写的大型C++项目? < /P>,c++,visual-studio,file-io,coding-style,C++,Visual Studio,File Io,Coding Style,如果我试图理解一个大型项目(例如,10000行代码)是如何编写的,我很容易迷失方向,可能会迷失数周。类的函数是指向不同类的函数的指针,这些函数可以重载,也可以不重载,也可以不被其他类继承,等等 是否有任何实用的提示可以加快我阅读和理解大型C++项目的能力?有没有关于这些技巧的教程?请详细说明!:) 我从事专业编程已经有一段时间了,因此,在我之前,我曾多次被别人所编写的代码库所传承。理解从来都不容易,尤其是当代码不一致时 不过,首先要认识到的是,在新的代码库中学习您的方法与重新发现您已经有一段时间
是否有任何实用的提示可以加快我阅读和理解大型C++项目的能力?有没有关于这些技巧的教程?请详细说明!:) 我从事专业编程已经有一段时间了,因此,在我之前,我曾多次被别人所编写的代码库所传承。理解从来都不容易,尤其是当代码不一致时 不过,首先要认识到的是,在新的代码库中学习您的方法与重新发现您已经有一段时间没有接触过的代码库没有太大区别。因此,是否由他人的旧自我书写并不重要;而且,由于您可能会设法重新发现以前使用过的代码库,因此您也应该能够发现新的代码库。不要失去希望 第二件要认识到的事情是,理解是一个模糊的术语,当然有不同的程度。很多时候,没有人要求你完全理解事情的来龙去脉;更可能的情况是,您将被要求理解代码库中存在bug或应开发某些新功能的部分。因此,随着时间的推移,你将逐渐了解各个部分,你将不可避免地对你工作最多的部分有更深的了解,而其他部分可能相对抽象,甚至完全模糊。没关系,人类已经很久没有尝试去学习所有需要学习的东西了 话虽如此,您可以尝试以下几个理解轴:
- 您应该寻找体系结构:一件好事是跟踪库依赖关系(这里Makefile/Project应该有帮助),这将为您提供构建应用程序的粗略技术块。可执行文件通常是依赖树的叶子
- 您应该查找数据流:应用程序的触发器是什么(直接调用还是作为回调调用)?这些数据所遵循的步骤是什么(大致上,只是一个草图)。不要犹豫,专注于一个特定的狭义用例,并使用调试器来跟踪事情,不要试图在一开始就挖得太深;只是感觉一下而已
- 用户文档:这是用来做什么的?如果你能安排一个演示,它通常是非常有用的,否则你可以尝试自己玩(在测试环境中)
- 测试:测试什么?向用户公开了什么
- 持久数据:什么是序列化的?数据库中保存了什么?持久性数据是在某个点被访问的,因此如果您理解它是何时读/写的,那么它会有所帮助
祝你好运。你提到的问题没有明确而简单的答案。然而,这里有一些提示: