问题标签 [maintenance]

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 投票
5 回答
1016 浏览

c# - Java 和 C# 的并行开发

我正在维护两个非常相似的调度程序——一个在 Java 中,一个在 C# 中。C# 版本最初是使用 JLCA 创建的,然后手动修改。在过去的几周里,Java 版本已经被其他人进行了相当大的修改(所以我必须追踪他的更改),我想知道是否使用 Internet 上可用的工具之一重新转换它,或者是否只是尝试每次需要时手动进行更改。这个问题对我来说很可能经常出现 - 有没有办法维护两种不同语言的软件版本并尽可能轻松地保持同步?!建议将不胜感激!

0 投票
5 回答
20844 浏览

sql-server - 是否所有 SQL Server 版本都会自动重建索引或具有默认的重建标准?

是否所有 SQL Server 版本都会自动重建索引或具有默认的重建标准?我了解统计信息是自动重建的,但不确定索引是否也可以。

0 投票
19 回答
3989 浏览

sql - 存储过程更容易维护吗?

为了使代码更易于维护(即更容易在不重新编译代码的情况下更改业务规则),将代码放入存储过程中的论据是什么?

在其他条件相同的情况下,是什么使存储过程更好/更差于维护?

0 投票
2 回答
566 浏览

sql-server - SQL Server 维护建议?

我经营着一个在线摄影社区,似乎该网站在数据库访问方面陷入了爬行,有时会超时。

我认为自己相当有能力编写 SQL 查询和设计表,但绝不是 DBA ......因此问题。

一些背景:

  1. 我的站点和 SQL 服务器正在远程主机上运行。我通过 SQL Server Mgmt 从 Visual Studio 和 SQL 更新 ASP.NET 代码。工作室快车。我没有对服务器的物理访问权限。

  2. 我所有存储的过程(我想我都得到了)都包含在事务中。

  3. 此时主表只有9400条记录。我每晚向该表添加 12 条新记录。

  4. 这个主表上有一个视图,它将其他几个表中的数据汇集到一个视图中。

  5. 辅助表是较小的记录,但更多。一个是 70,000,另一个是 115,000。这些是#3 中项目的评论和评分记录。

  6. 索引位于最需要的字段上。我将它们设置为自动重新计算大表上的统计信息。

当站点停止运行时,如果我运行代码来清除事务日志、更新统计信息、重建主视图以及重建存储过程以获取评论,速度就会恢复。但是,我必须手动执行此操作。

可悲的是,我的用户对这些问题感到沮丧,他们的参与减少了。

所以我的问题是......在远程环境中,设置和安排维护计划以保持我的 SQL 数据库在其峰值运行的最佳方式是什么?

非常感谢!KLK

0 投票
3 回答
103 浏览

c# - 维护 - 平衡何时以及是否进行更改的问题

我为其他人维护了几个库。在为他们每个人完成了几个版本之后,如果我不得不重新做一些事情,我会做一些不同的事情。

问题是:我应该重做吗?我想我们都面临着这样的困境——如何平衡维护活动的帮助与变革的破坏性影响。

显然,对于错误来说,改变势在必行。那里没有两难境地。对于新功能,这是实用性与增加复杂性的问题。我觉得处理这个问题很舒服。

我要问的是错误修复和新功能之间的模糊空间。一个例子是维护以符合框架设计指南或 CLS 合规性。对于一个图书馆,我写它时没有考虑 CLS 合规性,然后人们要求它。结果,我不得不修改接口以将 uint 换成 int。这是一个破坏性的变化,收益微乎其微(对大多数人来说)。

另一个问题:FxCop 合规性。为了让 FxCop 高兴,我不得不更改某些方法的参数名称。但这些变化实际上只影响使用反射的人——类型没有改变,只有参数的名称。

我现在正在处理的问题是:框架设计指南。关于事件的指南说事件应该有一个带有两个参数的签名:(对象源,EventArgs e)。但是那天我没有参加我的框架设计课程;)。我的库中的事件目前只需要一个 EventArgs 参数。

我现在正在向图书馆添加新活动。新事件是否应该遵循框架设计指南?还是图书馆已经建立的模式?如果我使用新活动的设计指南,我是否应该修改现有活动以也符合设计指南?如果是这样,如何进行迁移?我应该使用 [Obsolete] 属性吗?发行了多少?

更一般地说,我对在错误修复和新功能之间的这个模糊区域进行维护的想法很感兴趣。

0 投票
2 回答
379 浏览

c# - 重复维护 - 代码和文档

这可能不是最好的标题 - 如果有人在阅读我的问题后能提出一个更好的标题,我将不胜感激。另外,我想提前说一下,我主要是在互联网上自学的,所以可能有很多我不知道的工具。

我正在维护在 Java 和 C# 中实现基于流的编程 (FBP) 概念的软件。对于其中的每一个,我都有以下代码:

  • 我的网站
  • SourceForge 文件发布系统(zip 文件或 jar 文件)
  • SourceForge SVN

此外,我有版本参考和(有时是部分)描述:

  • 我的网站 (HTML)
  • 我的维基
  • Javadoc

还有一个绘图工具,也在我的网站和 SourceForge 上,它必须了解最新版本的 Java 版本的 FBP 代码。

一切都非常彻底地交叉链接,但有时我会错过参考!几天前,我意识到我已经很长时间没有为我的项目更新 SourceForge News 了,所以我不得不忙着去做 :-)

我意识到其中一些车辆可能是多余的,但一般来说,我不知道谁在看什么。

所以我的问题是是否有办法减少所有这些开销,例如 HTML“嵌入”功能会很好,所以我至少可以将最新版本号存储在一个地方。我可能可以简化 Java 交叉引用,但我猜跨语言会更好,但不太可能。

任何想法都会受到欢迎。

0 投票
0 回答
269 浏览

php - 在代码库中查找未使用的 PHP5 类/方法

可能重复:
如何在 PHP 项目中找到未使用的函数

如何检查 PHP5 中未使用的代码?像下面这样的东西?

  • 使用反射扫描类
  • 遵循“正常”代码token_get_all()并使用令牌 T_NEW 查找变量,然后扫描方法调用。
  • 输出类似classname (count of new declarations) methods (count of calls)
0 投票
4 回答
1281 浏览

project-management - 将生产力提高到每人/天 1 个错误修正

我是一名高级软件工程师,几个月前我被要求帮助协调错误更正。项目经理(非技术人员)给了我一个目标,将生产力提高到每人/天 1 个错误修正。这是一个真正的挑战,我想知道其他开发人员/经理可能会采取哪些措施来提高错误纠正率。

在这种情况下起作用的一些因素:

  • 团队地理分布(欧洲、亚洲、澳大利亚),每个区域有 10-20 名开发人员
  • 大型代码库,我不太熟悉,因为我在公司只工作了 9 个月
  • 只有最缺乏经验的开发人员被分配到错误更正,最有能力的开发人员正在致力于改进
  • 我们遵循敏捷,所以我们使用源代码控制、持续集成、错误数据库,项目有新工作的时间表和规范,我们有测试人员并进行可用性测试
  • 我们的代码依赖于许多内部和第三方组件/库
  • 项目经理有一些旧的错误纠正指标,显示每人/天纠正 0.7 个错误。我担心的是,这是基于一组经验丰富的开发人员开发原型,纠正他们自己编写的代码中的错误。现在我正在协调一个不熟悉代码的开发人员团队,并且错误来自验证团队。

阅读前几个答案后的更多信息:

  • 我试图反对使用错误纠正的生产力指标,但这种方法并没有走得太远
  • 所有错误都按优先级排序 (1-5),包括严重性 (1-5) 并标记有其他信息(例如,被另一个错误阻止、崩溃、不可重现等)
  • 大多数错误在纠正时都会编写单元测试用例
  • 如果可能,将特定代码区域中的错误分配给熟悉该区域的人员
  • 按团队跟踪错误纠正率,并保留纠正历史记录
  • 在日常站立会议中,我试图通过要求阻止问题并解决它们来让人们感动
  • 所有新代码都是用单元测试编写的
  • 是的,我一直在尽我最大的努力通过各种方式提高生产力指标——关闭旧的不相关的错误,创建和纠正错误,否则这些问题将在没有错误报告的情况下解决
  • 我已经开发了直接访问 bug 数据库的 python 脚本,以自动化 bug 管理和报告创建的一些平凡方面

  • -
0 投票
13 回答
3337 浏览

regex - 如何编写更易维护的正则表达式?

我开始觉得使用正则表达式会降低代码的可维护性。正则表达式的简洁和强大有一些不好的地方。Perl 将其与默认运算符等副作用结合在一起。

我确实有用至少一个句子给出基本意图和至少一个匹配内容的示例来记录正则表达式的习惯。

因为正则表达式是建立起来的,所以我觉得绝对有必要评论表达式中每个元素的最大组成部分。尽管如此,即使是我自己的正则表达式也让我摸不着头脑,就好像我在读克林贡语一样。

你是否故意降低你的正则表达式?您是否将可能更短且功能更强大的步骤分解为更简单的步骤?我已经放弃了嵌套正则表达式。是否存在由于可维护性问题而避免使用的正则表达式构造?

不要让这个例子模糊了这个问题。

如果迈克尔·阿什(Michael Ash )的以下内容中存在某种错误,那么您是否有做任何事情但完全扔掉它的前景?

根据请求,可以使用上面的 Ash 先生的链接找到确切的目的。

比赛01.1.02 | 2001 年 11 月 30 日 | 2000 年 2 月 29 日

不匹配02/29/01 | 2002 年 13 月 1 日 | 2002 年 11 月 00 日

0 投票
3 回答
4958 浏览

language-agnostic - 如何找到类似的代码片段?

有没有人有一些工具或一些推荐的做法如何找到一段与其他代码相似的代码?

我经常写一个函数或一个代码片段,我记得我之前已经写过类似的东西,我想重用以前的实现,但是使用纯文本搜索不会显示任何内容,因为我没有使用变量名完全一样。

拥有相似的代码片段会导致不必要的代码重复,但是对于大型代码库,不可能将所有代码都保存在内存中。是否有任何工具可以对功能上“相似”的代码和标记的片段或功能进行一些分析?

考虑以下示例:


在我看来,这已经被问了好几次了:

https://stackoverflow.com/questions/204177/what-tool-to-find-code-duplicates-in-c-projects

如何在开发过程中检测代码重复?

我建议在这里关闭重复。


其实我认为这是一个更普遍的搜索问题,比如:如果问题已经在 StackOverflow 上被问过,我该如何搜索?