【问题标题】:Old legacy code vs new features and libraries旧的遗留代码与新功能和库
【发布时间】:2015-09-11 05:17:18
【问题描述】:

我已经阅读了关于 SO 的相同问题,该问题已被关闭为题外话。我的问题也与该问题有关,也与该问题无关。

我们有多个使用 .Net 框架 2.0 在 Vb.net 中编写的桌面应用程序。我们计划将现有的应用程序升级到 3.5。以下是我们目前遇到的主要困惑。

有人建议我们不要升级到 3.5,而是直接升级到 4.5,不管我们没有使用 3.5 或 4.5 的任何新功能。有人建议升级到 4.5 不需要额外的工作,并且将来对我们有益。我们无法决定应该使用哪个升级。

有一些旧代码用于处理 HTML 文本。我们目前正在使用 SubString 和 IndexOf 来创建用于提取和处理相关数据的逻辑。我们也被建议在这种情况下与 Regex 一起使用 HtmlAgility 包。我们不确定这是否是正确的做法。我一直不太喜欢外部库。它们是否比 SubString 和 IndexOf 等旧的本机代码更高效、更有益。我们不想做一些将来会导致更多问题而不是好的事情。我总是被怀疑外部库不够好并且有未知和未报告的错误。

我们使用旧式代码,例如使用数组,并在运行时使用 Dim Redim 调整它们的大小。也有人建议我们应该使用 ArrayList 或其他 colelctions 对象,并应该升级我们的旧代码。

这需要大量的工作和大量的改变。我们不太喜欢现阶段的变化,因为它会扰乱我们现有的运营。这个问题的答案可能非常简短。我们只是想清楚自己什么时候应该升级我们的代码,以及像 HtmlAgilityPack 这样的外部库或像 Regex 这样的技术是否可以更有效和高效。

很抱歉,如果这似乎离题了,但这与我们的 .Net Framework 代码的规划和升级有关。

【问题讨论】:

  • 很抱歉,您的问题与 SO 无关。如果您已经咨询过专家并获得了相关建议,则由您决定。
  • @stribizhev 谢谢。好的,我很高兴自己结束这个问题。但请理解这一点,我们无法确定开发人员提出的建议是对还是错。这就是我在这里分享这个的原因。
  • 那里有很多的问题。仅根据您的描述而不是详细查看项目来回答是不负责任的。但是,达到 4.5 倍的成本不会比仅仅达到 3.5 高,它会打开更多的大门。解析 HTML 可能从来都不是一个好主意。您可以在此处扫描 Qs 以了解 HtmlAgility 的实际用户的想法;这里查看最多的 Q 是关于用于 HTML 解析的 RegEx。在具有 arraylist 的 Net 2.0 中通过了 Dim/Redim;今天使用集合和泛型。从表面上看,我认为你得到了很好的建议

标签: .net regex vb.net html-agility-pack


【解决方案1】:

最短的答案:听取开发人员的建议。紧跟最新技术,使代码更可重用、更易读和更通用。

当我们从 .NET 2.0 迁移到 .NET 4.0 时,代码变得更容易维护并且数量减少了。与 .NET2.0 相比,它也更安全,但如果您打算发布商业产品,混淆仍然是必须的。

在解析 HTML 方面,最新版本的 HtmlAgilityPack 可以完美地完成基本的 HTML 解析操作。它肯定可以与常规字符串方法结合使用,在更复杂的模式提取的情况下,可以使用正则表达式。

希望我的回答对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2023-03-07
    • 1970-01-01
    • 2013-01-13
    相关资源
    最近更新 更多