【问题标题】:Refactoring Windows, UNIX, URI path mixture重构 Windows、UNIX、URI 路径混合
【发布时间】:2013-03-01 19:31:17
【问题描述】:

对于将各种类型的路径存储为String 对象以仅使用URI 对象的重构代码,有哪些替代方法?

代码当前具有存储为String 对象的路径,其中值可以是

  • 系统路径(当前平台的目录分隔符)
  • URI
  • Windows 路径(所有平台上的\ 目录分隔符)
  • UNIX 路径(所有平台上的/ 目录分隔符)
  • Chimera 路径(\ 目录分隔符,URL 编码)

代码库有一些单元测试。我想到的方法是

  1. 引入WindowsFileUnixFileChimeraFile包装类
  2. 转换代码使用FileURI或包装类而不是String
  3. 通过依次处理每种类型来重构代码以仅使用URI

是否有其他重构方法或步骤可以使流程更容易或更安全。

【问题讨论】:

  • 这似乎是一种有效的方式。

标签: java refactoring


【解决方案1】:

我会使用 File.Separator 代替“/”和“\”,而且很简单,没有任何问题

【讨论】:

  • 并非所有路径都是在 in 代码中生成的,所以我不能只更改它们的创建方式。此外,分隔符只是问题的一部分,因为我还必须确保路径有效URIs。我想将所有内容都转换为 URI 的原因是为了具有类型安全性,旧的 String 方法是路径当前不统一的原因。
  • path1 = "blah"+File.Separator+"blah_blah" stackoverflow.com/questions/8323760/java-get-uri-from-filepath
  • 问题是关于将 String 对象中的各种路径类型重构为 URI 对象的过程,而不是如何将路径构造为字符串或如何从字符串中获取 URI。
  • @jelovirt 如果构造正确,则很容易重构
  • 构造不是问题。就是在代码周围传递和修改嵌合体路径。
猜你喜欢
  • 2019-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
相关资源
最近更新 更多