指令 與 查詢的分離

指令 與 查詢的分離

指令 與 查詢的分離

指令 與 查詢的分離

函式主要能做某件事或回答某個問題,但兩者不應該同時發生。
如果想同時完成兩個目標,就會讓人改到困惑。

ex:public boolean set(String attribute, String value);

if (set(“username”, “unclebob”))…

因上述set不知道是動詞還是形容詞,很難去推敲真正的意義。

可以用重新命名set函式來解決這個問題,將指令與查詢分開,
就能避免這樣模稜兩可的情形。

if (attributeExists(“username”)) {
setAttribute(“username”, “unclebob”);

}