2
我有一個模式,將在屬性文件或數據庫中可用。這將有夾着文字文本和事情是,整個格式化模式可以根據需求的變化,也就是重新洗牌的任何時間:DateTimeFormatter - 動態模式
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',這個人把它放在db或property文件中,必須謹慎地知道並且不要錯過。
所以,如果這傢伙忘了把報價,那麼代碼將打破。所以我的問題是,最好保持模式並讓代碼不知道確切的模式?或者將代碼與模式耦合更好,即代碼必須準確知道每個模式部分的位置,並且每次需求都要求更改時,開發人員必須在代碼中更改它以防止破壞代碼?
如果litteral文本內容和位置根據使用哪種模式而有所不同,那麼應該在您的litteral文本和各種模式之間進行某種映射=>至少在某種映射中區分模式 – alainlompo
這取決於。如果需求最終將在實施之前解決爲固定模式,那麼將其包含在代碼中。如果需求可能在實施後發生變化,但不經常更改而不必立即生效,則仍將其包含在代碼中。用戶將不得不等待下一次部署。如果需求可能在實施後發生變化,並且必須立即生效,那麼將其保持在外部以便更新。 –