自己寫庫,如何將介面寫得易用又強大

時間 2021-05-12 21:26:15

1樓:「已登出」

好好寫文件,好好寫 demo,好好寫 tests然後你會發現在擼這幾個東西的過程中

並且很多時候你介面怎麼樣還是看場景,比如你擼樹的話,效能要求不高直接 key + DFS 搞定一切,效能要求高需要各種 cache,path 和各種策略拼接

另外乙個場景就是擴充套件性和擴充套件性後的錯誤處理了;這也是為什麼 koa 和 express 似乎幹的事情差不多但是擼出來的不太一樣的原因之一

2樓:秋淵

我覺得根本是問題域,問題域的大小和你對問題域的劃分、解決方案,直接影響介面的設計,上回看到乙個人的部落格說軟體工程共識與標準比架構和設計模式重要。應該也是強調軟體設計世界觀( 問題域概念)共識的重要性。

3樓:三一斜狩

易用的概念是方便傻瓜使用者容易使用;強大的概念是指給使用者各種自由能夠根據介面組合出各種逆天的功能;如果易用和強大是指上面的定義的話,那麼兩者是矛盾的。只能選擇一方面或者選擇一種平衡。

對於資深使用者,介面概念清晰責任明確正規化統一也算易用,但是強大,不在庫,在他自己。

對於傻瓜使用者,只需乙個介面就幫助他完成他想要的功能,可能這個功能其實需要組合多個流程,呼叫多個介面,但剛好滿足了他最基本的需求,那也算庫很強大。至於易用,可能他會覺得把庫整合到系統裡太麻煩了,很不好用。

實際工作中碰到更多的是傻瓜使用者。提得更多的需求是直接給介面完成客戶最終想要的功能。所以我提供了兩套介面,一套以easy開頭,一套以core開頭。

4樓:馮東

能用乙個概念表示的東西,絕不用兩個概念。兩個概念如果不能有多種組合方式,那就合成乙個概念。

兩個 class 裡重複的東西,拆出來變成第三個類。

需要別人 subclass 的東西,在庫里提供幾個常用的 subclass 的例子,但是要講清楚哪些是 core class,哪些是 facilitate class。

經年累月的堅持上面的原則。

5樓:Grfxlf

不要被易用和強大給騙了,這是相對的。介面單一職能就好,自己庫內部的框架實現不要暴漏給外部摻一腳的機會。

另外,對於新手,你的庫無法易用和強大,因為他思考問題的技術世界觀跟你都不一樣,你的設計思路不匹配人家的設計思想.

另外你想想日常生活中的電源,比如國標,就220,你插進去就能用,不用考慮擴充套件什麼各種奇葩標準,所有電器就按這個來,這種暴力的限制反而讓電源介面:易用,強大!

6樓:坐下坐下基本操作

0.介面能多抽象(簡單)就多抽象(簡單)

1.只暴露你想要被使用者看見的東西

2.文件注釋寫好,提供多個例程,例程注釋完善3.從介面名字就能看出功能

4.該庫管理的物件,絕不拋給使用者去管理,不能管理的,堅決不管理5.不要相信User傳入的任何引數,認真仔細校驗,該斷言,就斷言6.

有明確的錯誤碼,以及strerror函式7.執行異常,可恢復的異常,就返回錯誤碼.否則炸如"timeOut","noResult","connectionReset",這些可以很容易從陷入的狀態中返回的,就應該返回錯誤碼.

其餘的"nullPointer","illegalState","runTimeErr"遵從第5點,該炸就炸,沒啥好想的]

如何將ll寫得帶有武俠風格?

父之罪 江湖中,絕無一人沒有聽說過園田海未和南琴梨這兩人的名字。江湖中,也絕無一人不想瞧瞧園田海未的箭,和南琴梨的笑。只因為任何人都知道,世上絕沒有乙個人能抵擋園田海未的輕輕一箭,也絕沒有乙個人能抵擋南琴梨的微微一笑!任何人都相信,園田海未的箭,能輕易奪走乙個人的命,而南琴梨的笑,也能輕易奪走乙個人...

如何將漢字寫得既有自己的特點而且還好看?我再問一下,是不是有乙個說法是越聰明的人,字越潦草 越難看?

紅色均勻 寫好字,通過長時間的學習於練習一般就能做到了,但是要有自己的風格和面貌,那就很難了,這是乙個很全面,很系統的工程。很多人寫了一輩子,也還是他人的面貌。還有,能寫好字的人肯定都是聰明人,好的字從來就不是潦草,難看的。現在的一些初學者把看不懂的字就說潦草,難看,劃分到醜書一類中,那只能說明他的...

如何將字寫整齊好看?

陳子魚 快速書寫 遠在晉唐時期,人們是為了快速書寫經書而出的寫經體可以參考下,它所用的辦法就是用平移替代提按,這樣在動作上節省了力量和時間,以達到更加快速的書寫。書寫整齊 第一書寫軸線整齊 樓上大大有提過 第二就是拉空字間距和行間距 第三就是書寫在有界格內 以上可以參考鄧石如 篆書四冊 靈飛經 褚遂...