你如何理解一大块代码?

2024-03-15

我是一名刚刚开始工作的应届大学毕业生。在我的起步阶段,我需要学习很多产品代码。有一些设计文档,但没有多大帮助。

您能否提供一些通用技术来浏览和理解庞大的产品代码(特别是 C++)?


运行它doxygen http://www.doxygen.nl/。这将生成 html 文档,即使代码没有正确的 doxygen 风格注释,该文档也会很有帮助。

另一个好的建议是查看单元测试(如果有)。如果没有单元测试,理解代码的一个好方法是编写自己的单元测试。这样做的努力将获得数倍的回报。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

你如何理解一大块代码? 的相关文章

  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • C# xml序列化必填字段

    我需要将一些字段标记为需要写入 XML 文件 但没有成功 我有一个包含约 30 个属性的配置类 这就是为什么我不能像这样封装所有属性 public string SomeProp get return someProp set if som
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • 使用数据库(MySql)的生产者/消费者系统,这可行吗?

    我需要使用某物协调我的系统与多个消费者 生产者 每个消费者 生产者在具有不同操作系统的不同机器上运行 我一直在研究使用 MySql 来做到这一点 但这似乎非常困难 我的要求很简单 我希望能够随时添加或删除消费者 生产者 因此他们根本不应该相
  • 我可以使用 css-grid 按从左到右的阅读顺序显示两行未知数量的项目吗?

    我想按从左到右的顺序显示多个 div 为它们提供相同的空间并将它们分布在两行中 e g 第 1 部分 第 2 部分 第 3 部分 第 4 部分 第 5 部分 第 6 部分 or 第 1 部分 第 2 部分 第 3 部分 第四部分 第 5 部
  • Neo4j 查询中“开始流式传输”和“已完成”有什么区别?

    在 Neo4j 浏览器中 当我分析查询时 我得到 在 129 毫秒后开始流式传输 162063 条记录 并在 13793 毫秒后完成 是否在 129 毫秒后就全部收集到了结果 但将它们输出到浏览器却花了 13793 毫秒 另外 当我在 Cy
  • 如何在 Zend Framework 中的 URL 开头添加变量?

    我正在尝试在这里创建网址 例如 admin login moderator login 这两个请求都将由相同的控制器提供服务并执行登录操作 即 account login
  • 系统空闲检测

    我想检测系统是否空闲 即 用户没有使用系统 我希望它像 Windows Live Messenger 一样 当我离开计算机大约 3 分钟时 它会自动更改为离开 我想在代码中设置这个时间 我正在使用 Visual Studio 2008 和
  • 如何使用 Git 分支支持覆盖 TeamCity 7.1 中的 分支名称?

    我有一个 CI 构建 从 Github 拉取功能分支 并使用基于项目 分支和构建号的文件夹命名约定将它们构建 打包到本地文件夹中 对于命名分支 feature1 feature2 这非常有效 问题是 当我向 master 提交时 TeamC
  • Safari (iPad) 中的弹性项目重叠

    我无法通过简单的任务解决问题 容器宽度为 100 但有 padding right 和 box sizing 溢出 容器是弹性行 容器有两个具有动态内容的子容器 第一个孩子有内容的大小 第二个孩子占据剩余的宽度 预期结果 iPad 结果 例
  • 我如何调试 Hadoop MapReduce [重复]

    这个问题在这里已经有答案了 我正在尝试构建一个地图缩减作业 它运行完成 但最后呈现奇怪的数据 当我尝试使用 system out println debug data 调试它时 它没有显示在屏幕上 使用 java API 生成外部日志文件
  • 标准容器的复杂性保证有哪些?

    显然 标准容器提供了某种形式的保证 有哪些类型的保证以及不同类型集装箱之间的具体区别是什么 工作自SGI页面 http www sgi com tech stl about STL http en wikipedia org wiki St
  • Android 在应用程序被杀死时重新安排 Alarmmanager 警报

    我开发了一个应用程序来安排多个本地通知以提醒用户做某事 今年的每个月都应该发出通知 这些本地通知是使用 AlarmManager 安排的 在 BroadcastReceiver 的 OnRetrieve 中创建并引发通知 它一切正常 直到应
  • 避免 Angular CLI 中的相对路径

    我正在使用最新的 Angular CLI 并且创建了一个自定义组件文件夹 它是所有组件的集合 例如 TextInputComponent has a TextInputConfiguration放置在里面的类src components c
  • 在 Windows 中对二进制文件进行逆向工程的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 就我而言 它写成c c 如果这很重要的话 IDA 表现出色 IDA反汇编器 http www hex rays com idapro
  • 加密柱状转置密码

    我试图弄清楚如何在给定明文大写字符串和任意长度的数字密钥的情况下加密 Python 中的柱状转置密码 例如 如果键是 3124 并且字符串是 IHAVETWOCATS 它将像这样组织字符串 3124 IHAV ETWO CATS 然后先返回
  • 使用 aspnet_regiis 加密 web.config 部分会删除 system.webServer 元素

    我使用以下命令来加密 web config 中的自定义部分 C Windows Microsoft NET Framework64 v4 0 30319 aspnet regiis exe aspnet regiis exe pe Cust
  • 如何在shell脚本中操作数组

    我希望我的脚本定义一个空数组 如果预定义条件成立 则应添加数组值 为此我所做的是 declare a FILES file count 0 if file ext SUPPORTED FILE TYPE then echo file ext
  • 在控制台应用程序中获取 IP 地址

    我希望通过控制台应用程序找出我的 IP 地址 我习惯使用网络应用程序Request ServerVariables收集和 或Request UserHostAddress 如何在控制台应用程序中完成此操作 最简单的方法如下 using Sy
  • EF在运行时从Type获取记录列表

    目的 我需要循环所有记录 例如 var records db Set
  • 如何在 Rails 的功能测试中启用页面缓存?

    是否可以打开页面缓存进行功能测试 以下内容不起作用 class ArticlesControllerTest lt ActionController TestCase def setup ActionController Base publ
  • 是否可以获取对象的不可枚举继承属性名称?

    在 JavaScript 中 我们有几种获取对象属性的方法 具体取决于我们想要获取的内容 1 Object keys 它返回对象的所有自己的可枚举属性 即 ECMA5 方法 2 a for in循环 返回对象的所有可枚举属性 无论它们是自己
  • 你如何理解一大块代码?

    我是一名刚刚开始工作的应届大学毕业生 在我的起步阶段 我需要学习很多产品代码 有一些设计文档 但没有多大帮助 您能否提供一些通用技术来浏览和理解庞大的产品代码 特别是 C 运行它doxygen http www doxygen nl 这将生