我有一个模式,将在属性文件或数据库中可用。它将文字文本夹在中间,关键是整个格式化模式可以根据需求变化随时重新洗牌,即:
pattern = "4pm on Wednesday";
pattern = "at 4pm on Wednesday";
pattern = "on Wednesday at 4pm";因此,此模式将被传递给DateTimeFormatter:
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(pattern);所以现在我们有了解耦的代码和未来的证明,不是吗?因为代码不需要知道每个模式部分的确切位置(即EEE/a/HH:MM等)。
但是为了指示文字文本,我们需要使用引号来表示'on‘或'at’,将其放在数据库或属性文件中的人必须知道并谨慎操作,而不能遗漏。
因此,如果这个人忘记加上引号,那么代码就会崩溃。所以我的问题是,最好保留模式,并让代码不知道确切的模式?或者是更好地将代码与模式耦合,即代码必须准确地知道每个模式部分的位置,并且每次需求指示更改时,开发人员必须在代码中进行更改,以防止破坏代码?
发布于 2017-04-03 23:24:31
视情况而定!:p
如果你想拥有非常灵活的模式,也许你可以在存储模式的时候测试它。或者你可以在FormatException的情况下有一个默认的模式。
https://stackoverflow.com/questions/43188330
复制相似问题