问题标签 [codebase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
3556 浏览

c++ - 在不破坏现有代码的情况下向结构添加字段

因此,我正在使用这个庞大的代码存储库,并意识到其中一个结构缺少一个重要字段。我尽可能仔细地查看了代码(它使用了结构),并得出结论,添加一个额外的字段不会破坏它。

关于我可能在哪里搞砸的任何想法?

另外:欢迎设计建议 - 我能做到这一点的最佳方式是什么?

例如(如果我不清楚):

现在是:

0 投票
4 回答
909 浏览

uml - 学习如何更好地阅读代码的资源

我最近继承了一个大型代码库,并且不得不阅读它。问题是,我通常是开始一个项目的开发人员。结果,我没有太多阅读代码的经验。

我对不得不阅读大量代码的反应是,嗯,重写它。但我需要让自己快速上手,并在现有系统的基础上进行构建。

其他人是否有他们学到的吸收代码库的技术?在这一点上,我只是在阅读代码。我尝试使用 UModel 生成 UML 图。它们太大了,打印不干净,当我放大时,我真的失去了看到所有关系的视角。

其他人是如何处理这个问题的?

0 投票
7 回答
222 浏览

version-control - 出于历史目的而注释掉代码的替代方案

出于可查找性的原因,是否有人有有效的替代方法来使用签入存储库的注释掉代码?

我问的原因是因为我最近与一位开发人员讨论了签入被注释掉的代码。我的立场是,注释掉的代码永远不应该检查到我们的 VCS 中,因为它在技术上不是代码库的一部分,因此可以说是不值得它占用的字节的烦人的垃圾。

他的反驳是,他签入的一些注释掉的代码仍然说明了他希望在未来修复的一些工作(在这个特定的点上,注释掉发生在 2 年前,但这不是重点)。他想将它保存在代码库中以便他可以轻松找到它,即使它当前无法编译,它仍然在全局行中显示了解决它的正确方法。

最后他同意了,有点,注释掉的代码不属于。但是,当我们考虑他的可能替代方案时,我们想出了很短的时间。

我能想到的唯一选择是:

  • Wiki:只需将其粘贴到 Wiki 上的某个位置。这样做的缺点是它会与其他非代码相关的 wiki 内容混合在一起,这可能会使搜索变得困难。
  • 索引所有 VCS 修订:这对我来说主要是理论上的,但是是否有系统可以使代码库及其整个历史可搜索?

有谁知道/使用任何替代品?我的两种选择听起来都比实际价值要多,但这可能与我的推理有关,即注释掉的代码无论如何都是一文不值的。我不想走“嘿,如果你现在没有时间修复它,那么留在代码库中并不重要”路线(但如果没有可行的替代方案,我会这样做)。

对不起这个可怕的标题,我想不出一个更好的

0 投票
3 回答
230 浏览

language-agnostic - 从哪里开始构建真正的代码库?

目前,我有一组或多或少有条理的项目我正在工作或从事。有些经过重构、记录和单元测试,有些则没有。

当我想重用以前编写的代码时,我会花几分钟时间搜索我编写此代码的项目,而不是将此代码复制粘贴到新的项目中,如果需要,进行重构、记录和单元测试.

它很丑,因为它需要做额外的工作,记住写的内容和位置,以及(可能是最丑的)跨项目复制代码。在没有共同代码库的情况下与其他开发人员合作也是一个问题。

现在,我想创建一个代码库,但我对此一无所知,也从未在任何公司见过认真的代码库。

那么从哪里开始呢?是否有书籍或在线文档解释如何创建这样的代码库或描述现有或想象的代码库、它是如何工作的、它是如何维护的等等?

0 投票
5 回答
390 浏览

version-control - 不那么聪明的程序员的源代码控制系统

问题

跨越数百万 SLoC 的庞大代码库,由一大群二流/三流程序员(其中大多数并不真正关心)维护(支持/积极增强等)。几十年前,很少有聪明人会在下面安装一个使用 CVS 的包装器,而这一代开发人员正在使用这个系统(其中 90% 的人没有直接使用过 CVS,或者听说过/使用过另一个命令行源代码控制系统) .

效果

使用 CVS 和跨多个模块工作的多个团队,不可避免地 => CVS 分支合并到主干。这将是一项以最虔诚和最仪式化的方式进行的活动。[=> 蛮力; 提前几周计划,涉及十几个人,为期 2/4 天。手动处理数百个(有时数千个)源。 有趣的是,所涉及的人并不是修复程序的原始所有者,他们只是通过检查差异来进行;真的,我不是在开玩笑!] 这导致库/模块/功能的健全性存在很多不一致,并且花费了太多精力来纠正由于这些合并过程中的回归而导致的缺陷。

现在,问题是:

什么替代的源代码控制系统可以带来一些积极的变化并改善程序员/经理和环境中其他所有人的生活?

由于周围的每个人似乎都喝了 KoolAid(并唱“This-is-how-things-are-done-everywhere”),甚至没有考虑寻找替代品,现在是时候有人这样做了。但是考虑到将使用该系统的人的类型,需要牢记以下几个方面。

  1. 简单易用 && 理解,即使是 Joe Coder 也应该可以毫不费力地使用它。(无论如何这都不是必需的,因为包装器会对人们隐藏真正的引擎盖下的东西)
  2. 一个巨大的代码库(由多种语言的源代码组成),在任何给定时间都有多个(大约 30 个)活动分支。
  3. 轻松合并到各个分支。(考虑到变化量非常大)
  4. 如果可以的话,对该系统的商业支持将是甜蜜的。
  5. 开发发生在 UNIX 服务器上(至少应该在 HP-UX/Solaris 上运行)
  6. 应该可以很好地扩展(成千上万的用户/数十万个来源)
  7. 好的文档
  8. 简单/清晰的基于浏览器的界面来比较/查看更改/副本。
  9. 存储库中没有二进制文件,因此不必理会它们。
  10. 将当前存储库内容导入新系统的规定。

所以,请建议。有希望&&出路吗?:)我很确定像 git 这样的东西会被彻底拒绝(他们相信“git 只适合聪明的人”)

编辑:我也想到了 Mercurial 和 BitKeeper,并且已经向链上的人们提到了它。期待最好的!谢谢!:)

0 投票
1 回答
420 浏览

android - 使用 Eclipse 进行版本控制和通用代码库

我想在不久的将来推出一个 Android 应用程序,所以我想知道如何支持我在为 J2ME 和 iPhone 开发时使用过的一些功能

  • 首先是版本控制。使用 J2ME(使用 NetBeans 作为 IDE),我可以选择在每次编译时自动增加软件版本。我想知道这样的东西是否可用于 Eclipse,如果可以,如何使用它?
  • 其次是通用代码库。是否有可能为多个项目建立一个共同的代码库?例如,我可能有一个游戏实际上使用相同的代码但需要不同的图形资源。我不想为每个游戏/应用程序有一个不同的项目,并且每次我想提交新的代码更改时都必须手动编辑每个项目的源代码。有什么解决方案吗?

提前感谢各种帮助/提示/提示!

0 投票
2 回答
1040 浏览

java - 为 Java 安全策略指定远程代码库

我有一个客户端安全策略,其中包含授予权限的语句。我希望能够指定它以仅授予 RMI 服务器的权限集。例如这有效:

但我不知道如何链接这组权限,以便它们适用于我在服务器上的代码库。实际上任何东西,只要它与服务器绑定就可以了。我试过了:

主机名是机器的名称或 IP,带有和不带端口号。但这不起作用,使用 http 代替文件也不起作用。如果我理解到目前为止我正确阅读的内容,最后的连字符应该将权限应用于服务器上的任何内容。任何人都知道我需要做什么才能让它工作吗?

谢谢。

下面是运行服务器时指定的代码库:

0 投票
1 回答
1436 浏览

linux - 如何将两个独立但相似的代码库合并为一个 SVN 代表?

我有

/var/www/cool_codebase 在 www.example.com 我有

/var/www/cool_codebase 在 www.example.net

代码库适用于在不同服务器上运行的同一个 Web 应用程序。代码库(特定于客户端的位和鲍勃等)之间有一些专业化 - 但不是太多。一个代码库有另一个没有的文件,反之亦然。一些编程也不同。

我已将每个代码库下载到我的本地主机,我的问题是:

如何将这两个文件夹合并到一个文件夹中,然后将其作为一个“大统一代码库”提交到我的 SVN 中?

我应该将每个代码库放入自己的 SVN 存储库中,然后合并这些单独的存储库吗?或者我可以在 SVN之前合并代码库- 例如使用一些 linux 命令 -然后将其提交给 SVN?

任何想法或帮助将不胜感激。

我应该补充一点,最终结果将是一个“大统一代码库”,我们可以将其部署到 www.example.com 和 www.example.net 而不会出现任何问题。

(PS。是的,我意识到无论我做什么,我都必须编辑一些文件并使编程“通用”等等。我不介意这一点。我只是在寻找自动化或半自动化的方法-自动化整个事情。)

0 投票
5 回答
20054 浏览

c# - 如何将 Assembly.CodeBase 转换为 C# 中的文件系统路径?

我有一个项目,将模板存储在\TemplatesDLL 和 EXE 旁边的文件夹中。

我想在运行时确定这个文件路径,但是使用一种可以在单元测试和生产中工作的技术(我不想在 NUnit 中禁用卷影复制!)

Assembly.Location不好,因为它在 NUnit 下运行时返回影子复制程序集的路径。

Environment.CommandLine用途也有限,因为在 NUnit 等人中,它返回 NUnit 的路径,而不是我的项目。

Assembly.CodeBase看起来很有希望,但这是一条 UNC 路径:

现在我可以使用字符串操作将其转换为本地文件系统路径,但我怀疑有一种更简洁的方法可以将其隐藏在 .NET 框架中的某个地方。有人知道这样做的推荐方法吗?

(在这种情况下,如果 UNC 路径不是 URL,则抛出异常file:///是绝对可以的)

0 投票
0 回答
2771 浏览

java - Java 策略文件无法将权限分配给代码库 jar

我已经编写了我的 java 策略文件以将 allPermission 赋予一个 jar 说“xyz.jar”

但是在执行程序时,我得到了一个 AccessControlException 的属性权限。此属性由 jar 中的类设置。

在进行策略调试时,以下是条目:

我哪里错了?