[爆卦]assertThat is是什麼?優點缺點精華區懶人包

雖然這篇assertThat is鄉民發文沒有被收入到精華區:在assertThat is這個話題中,我們另外找到其它相關的精選爆讚文章

在 assertthat產品中有1篇Facebook貼文,粉絲數超過7萬的網紅iThome,也在其Facebook貼文中提到, 【良葛格專欄】寫一手流暢的API 現在不少程式庫在使用風格上,採用了方法鏈串(Method chaining)創造出流暢語義,多數人耳熟能詳的實例就是jQuery,而Guava程式庫中,如ComparisonChain、Ordering,也採用了此風格,有些程式庫改版時亦從命令查詢(Comma...

 同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...

  • assertthat 在 iThome Facebook 的精選貼文

    2013-11-02 03:50:00
    有 20 人按讚


    【良葛格專欄】寫一手流暢的API

    現在不少程式庫在使用風格上,採用了方法鏈串(Method chaining)創造出流暢語義,多數人耳熟能詳的實例就是jQuery,而Guava程式庫中,如ComparisonChain、Ordering,也採用了此風格,有些程式庫改版時亦從命令查詢(Command-Query)風格,丕變為流暢API風格,像是Quartz,此類風格似乎打破了一些設計原則?

    流暢API設計,就等於方法鏈串嗎?

    在考量到可讀性之後,實作的形式就多元化了。實際上,流暢介面與流暢API之間不畫上等號。

    方法鏈串是流暢API常見但不是唯一實現方式,Martin Fowler在2008年對〈FluentInterface〉的補充說明了這點,像是Hamcrest就採用工廠方法等模式,實現了assertThat(numbers, everyItem(lessThan(5)))之類的風格。然而,不用拘泥於名詞,流暢API的重點或許在思考:打破原則或概念是可以創造可讀性,分寸在哪呢?

    大部份設計原則考量的都是職責清晰,降低耦合度,必定優先遵守,以命令查詢分離概念來說,設計API時應該優先考量,其次在一些語義明確或慣例的情境下,若有助於可讀性則可考慮通融,像是堆疊的pop方法。

    如果物件不可變,由於操作總得傳回結果,你可以傳回新物件,以方法鏈串創造流暢性;如果物件可變,且是個值物件,考慮傳回本身,讓查詢方法傳回型態來洩露命令操作的差異,並明確在文件上說明傳回型態是否為本身,作為API使用者也務必確認這點;如果目標是構成一個內部DSL,那在型態與方法名稱上,就得多下點功夫,一切都以可讀性為出發點,API才有流暢的可能性

    完整內容請看
    http://www.ithome.com.tw/itadm/article.php?c=83412&s=1

  • assertthat 在 コバにゃんチャンネル Youtube 的最佳解答

    2021-10-01 05:19:08

  • assertthat 在 大象中醫 Youtube 的最佳解答

    2021-10-01 05:10:45

  • assertthat 在 大象中醫 Youtube 的最佳貼文

    2021-10-01 05:09:56

你可能也想看看

搜尋相關網站