我开始在哪里字符串写入大部分时间的代码的项目。许多字符串可能只在少数地方使用,但一些字符串全国各地的许多页面是常见的。

这是个很好的利用我的时间来重构文字转换为常数是该应用程序是很好建立并运行良好?什么是这样做的长远利益?

有帮助吗?

解决方案

只有当这个项目需要支持到未来,这是一个很好的使用时间。如果你将定期维护/扩展这个系统;然而,这是一个好主意。

1)有一个大的程度作为一个单一的拼写错误通常只能在运行时检测到与字符串文字相关的风险。运行时间错误的风险降低是一个严重的优势,因为它们可以是尴尬/沮丧。

2)此外,应他们曾经需要改变,例如,当它们被用于引用其它系统(如表名称,服务器名称等)它们可以是非常困难的更新时,这些其它系统名称改变。集中他们,这是一个小问题。

其他提示

考虑将国际化一种常见的事情。如果您(或您muckity-渣土)曾经想卖掉在墨西哥和法国(等),你的产品你会欣赏那些具有字符串文字的的散落在整个代码库。

编辑:我知道这并不直接回答你的问题,所以我投了一些其他的答案回复:三规则,等等。我明白你是在谈论现有的代码库,所以这是一个有点晚谈从一开始就引入国际化。它是那么容易的事,当你从一开始就习惯是。

我喜欢重构时应用三个规则。如果它发生三次或三次以上,那么代码需要更新。

如果字符串在不止一个地方使用的,重构它。如果在一个地方只用,不管它。

如果你已经重构了所有的常见字符串,它可以更容易国际化/翻译。如果他们都在属性文件,或任何你的语言等同是它的更容易。

  

它是一个很好地利用我的时间来重构文字转换为常数是该应用程序是很好建立并运行良好?

没有,你最好离开它喜欢它。

  

什么是这样做的长远利益?

如果没有人触摸该代码,好处是无。

你能做什么,不过是避免增加新的文字。不过,我想几乎离开现有的会是这样的。

您也许可以重构他们的自由睡得更好。

大概有需要你注意一些其他错误了。解决这些代替。

最后,如果你管理你的“重构”添加到您的任务列表,勇往直前!

我与JMD同意,只要记住,有更多的不是改变字符串国际化(货币,UI必须adpated以从右到左的语言等)

即使您没有希望18N你的应用程序,将重构你的字符串,因为今天使用该字符串只有一次,也许明天重复使用几次是有用的,如果硬编码it's你可能不知道它和星形复制串所有的地方。

最佳莫惹是非。如果您需要更改用于十八块状次的字符串,是的,继续前进,把它变成一个恒定的地方。如果你发现自己有可能是恒定IZE字符串中的模块中工作,做到这一点,如果你喜欢它的感觉。但是经历了整个应用程序改变所有字符串常量......应该是在待办事项列表的最底端。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top