json - 我应该如何处理源代码中的大块文本,以免影响代码的可读性?

标签 json testing go software-design

最近在修复系统中的一个错误并为其编写测试时,我们在测试源代码中放置了一大块html字符串。我唯一担心的是大块会分散注意力并损害代码的可读性。

我为 i 提出的一些显而易见的解决方案是:

  • 将单个文本 block 移动到单独的文本文件中,在测试运行时读取这些文件。 (我关心的是:效率和可扩展性)
  • 将文本 block 移动到单个 json 文件中并将其加载到 json 对象中一次(对这个解决方案不太自信。太过分了,如果我们只是碰巧对大文本 block 进行一些这样的测试?)<
  • 在包含 block 的同一包中创建一个单独的代码文件(与前一个问题相同)
  • 坚持当前的解决方案,即源代码中的大块代码。而且这不是什么大问题。

语言:Go

问题:

  • 哪个较早的解决方案是最佳的?或者其他一些解决方案?
  • 提示:此问题的解决方案是否取决于所使用的编程语言?

最佳答案

我认为这不是语言相关的问题。在代码中嵌入大量任何类型的字符串会影响代码的可读性。

至于解决方案,我会考虑两个方面: 1. 字符串内容是否真的是静态的——如果你认为它永远不会改变,我相信将它放入另一个 .go 文件是最好的解决方案。引入更多代码来处理内容的加载只会让事情变得更复杂。 2. 部署——Go 最好的事情之一就是拥有一个你可以在没有任何外部依赖的情况下运行的文件。如果你从外部源加载字符串的内容,你就会妥协。下一个需要运行测试的人必须知道这个文件...

关于json - 我应该如何处理源代码中的大块文本,以免影响代码的可读性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719295/

相关文章:

javascript - 优化巨大的 JSON 响应

android - com.android.builder.testing.ConnectedDevice > hasTests[test(AVD) - 5.0] 失败

session - 去 session 变量?

string - 为什么golang bytes.Buffer会以这种方式运行?

Beego Controller 中的 JSON 响应

json - Django:序列化器自动解析json字段并添加到公共(public)字段

Java 8 jackson 验证

java - 如何用 JUnit 测试来测试这个类?

javascript - 无法读取未定义的属性 'use_env_variable'

arrays - 使用 mgo.v2 将新对象插入到 mongodb 文档中的数组属性中