#寫(xiě)好業(yè)務(wù)代碼#4.三方件標(biāo)準(zhǔn)化

本文集說(shuō)的都是些平凡的小事偎谁,但往往是這些小事區(qū)分了產(chǎn)品的偉大與平庸筑辨。

開(kāi)源世界里有很多英雄式的程序猿俺驶,無(wú)私的提供這些三方件,不斷提升軟件開(kāi)發(fā)的效能棍辕。向開(kāi)源致敬暮现。

1.雜談三方件

(1)三方件對(duì)產(chǎn)品的影響

廣義上說(shuō)三方件可以很大,例如:編譯器楚昭、數(shù)據(jù)庫(kù)栖袋、操作系統(tǒng)、芯片抚太,本文僅談狹義的三方件塘幅,例如:apache common。

產(chǎn)品選擇三方件等效于選擇供應(yīng)商尿贫,談到供應(yīng)商就涉及很多商務(wù)問(wèn)題电媳,談到供應(yīng)商就很容易理解他們對(duì)產(chǎn)品的深遠(yuǎn)影響。

在建筑工程領(lǐng)域庆亡,對(duì)于供應(yīng)商的選擇有一個(gè)“Q.C.D.S”原則匾乓,大致就是“質(zhì)量,成本又谋,交付與服務(wù)并重”——參考《柳和玲主編.采購(gòu)管理.人民交通出版社,2007.7.》

軟件領(lǐng)域中拼缝,三方件就好像水泥娱局、沙這種基礎(chǔ)材料,三方件的選擇差不多也是一個(gè)意思咧七,一個(gè)套路衰齐。

圖1

(2)三方件的套路

開(kāi)源世界很像小區(qū)物業(yè)組織的小區(qū)市集,這種市集的參與者有三種:

玩票性質(zhì):個(gè)體程序猿居多继阻,將自己的代碼作品共享出來(lái)供全世界程序猿免費(fèi)使用娇斩。好像小區(qū)業(yè)主帶著娃搬個(gè)小板凳擺個(gè)小攤,象征性的半賣(mài)半送自己做的小手工穴翩。

營(yíng)銷(xiāo)性質(zhì):商業(yè)公司居多犬第,能夠免費(fèi)使用的代碼一般是基礎(chǔ)功能,高級(jí)功能就要收費(fèi)了芒帕。好比小區(qū)新開(kāi)的水果店擺個(gè)攤搞免費(fèi)試吃歉嗓,大媽們吃的不錯(cuò)就再買(mǎi)兩斤帶走。

公益性質(zhì):一般是有錢(qián)多金的富豪企業(yè)背蟆,錢(qián)掙夠了鉴分,搞個(gè)基金會(huì)共享比較大型的軟件組件,讓全世界程序猿免費(fèi)使用带膀。和現(xiàn)實(shí)世界的富豪們做公益一摸一樣志珍。

對(duì)于玩票性質(zhì)的開(kāi)源項(xiàng)目,請(qǐng)懷揣著敬意垛叨,千萬(wàn)不要挑三揀四——站在玩票者的角度伦糯,筆者曾經(jīng)開(kāi)源了一個(gè)組件,我廠某產(chǎn)品的處理方式就是把筆者拉進(jìn)各種評(píng)審會(huì)議嗽元,不勝其擾敛纲,所以很多玩票項(xiàng)目都標(biāo)上“Open source,No support剂癌!”淤翔。

對(duì)于營(yíng)銷(xiāo)性質(zhì)的開(kāi)源項(xiàng)目,就要小心了佩谷,看清楚License說(shuō)明——哪怕是最寬松的開(kāi)源協(xié)議旁壮,也要多留心眼。關(guān)于各種開(kāi)源協(xié)議介紹的文章很多谐檀,請(qǐng)猛戳這里抡谐。

對(duì)于公益性質(zhì)的開(kāi)源項(xiàng)目,請(qǐng)胸懷全人類(lèi)稚补,因?yàn)檫@類(lèi)項(xiàng)目一般也希望您也能公開(kāi)您的產(chǎn)品源代碼童叠。

PS:GitHub近期響應(yīng)特朗普同學(xué)的那一紙聲明,令筆者有些失望,不管是上述哪種性質(zhì)的開(kāi)源社區(qū)成員厦坛,摻和政治因素五垮,很無(wú)恥。

圖2

(3)正確姿勢(shì)與正確的人

很多公司會(huì)把三方件選擇流程化杜秸,業(yè)務(wù)部門(mén)提三方件需求由專(zhuān)人評(píng)審放仗,流程化是好事,是正確的姿勢(shì)撬碟,但問(wèn)題卻出在提需求的人和評(píng)審需求的人诞挨。

提需求的人容易短視,而忽略了必要性和可獲得性(比如:是否真的需要這個(gè)三方件呢蛤?有沒(méi)有可替代的三方件惶傻?三方件會(huì)帶來(lái)未來(lái)多少成本?)其障,而評(píng)審需求的人容易僵化银室,而無(wú)法做出客觀評(píng)估,錯(cuò)過(guò)了很多優(yōu)秀的三方件励翼。

那么怎么才能避免上述問(wèn)題呢蜈敢?

提需求的人和評(píng)審的人要選擇真正的一線程序猿,所謂一線程序猿就是“既對(duì)產(chǎn)品本身很熟悉汽抚,又對(duì)業(yè)界的三方件很熟悉”抓狭。

所以說(shuō),姿勢(shì)很重要造烁,人更重要否过。

圖3

2.企業(yè)應(yīng)用中常用的三方件

下面,筆者參考awesome-java膨蛮,將常用三方件的大類(lèi)摘抄出來(lái)叠纹,試圖讓各位讀者形成一個(gè)三方件的全景圖

Bean?Mapping:Frameworks that ease bean mapping.

Bytecode Manipulation:Libraries to manipulate bytecode programmatically.

Caching:Libraries that provide caching facilities.

Code Coverage:Frameworks and tools that enable code coverage metrics collection for test suites.

Code Generators:Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness.

Compiler-compiler:Frameworks that help to create parsers, interpreters or compilers.

CSV:Frameworks and libraries that simplify reading/writing CSV data.

Database:Everything that simplifies interactions with the database.

Date and Time:Libraries related to handling date and time.

Document Processing:Libraries that assist with processing office document formats.

HTTP Clients:Libraries that assist with creating HTTP requests and/or binding responses.

Hypermedia Types:Libraries that handle serialization to hypermedia types.

Imagery:Libraries that assist with the creation, evaluation or manipulation of graphical images.

JSON:Libraries for serializing and deserializing JSON to and from Java objects.

JSON Processing:Libraries for processing data in JSON format.

Logging:Libraries that log the behavior of an application.

Messaging:Tools that help send messages between clients to ensure protocol independency.

PDF:Tools to help with PDF file creation.

3.總結(jié)

三方件要總結(jié)的東西太多了,以后慢慢更新吧敞葛。最后,我們用魯迅先生的話結(jié)束本文:“規(guī)范千萬(wàn)條与涡,三方件第一條惹谐。三方件不規(guī)范,親人兩行淚”

圖4
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末驼卖,一起剝皮案震驚了整個(gè)濱河市氨肌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酌畜,老刑警劉巖怎囚,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡恳守,警方通過(guò)查閱死者的電腦和手機(jī)考婴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)催烘,“玉大人沥阱,你說(shuō)我怎么就攤上這事∫寥海” “怎么了考杉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)舰始。 經(jīng)常有香客問(wèn)我崇棠,道長(zhǎng),這世上最難降的妖魔是什么丸卷? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任易茬,我火速辦了婚禮,結(jié)果婚禮上及老,老公的妹妹穿的比我還像新娘抽莱。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布永品。 她就那樣靜靜地躺著嘲玫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虐呻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天寞秃,我揣著相機(jī)與錄音斟叼,去河邊找鬼。 笑死春寿,一個(gè)胖子當(dāng)著我的面吹牛朗涩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绑改,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谢床,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了厘线?” 一聲冷哼從身側(cè)響起识腿,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎造壮,沒(méi)想到半個(gè)月后渡讼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年成箫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了展箱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伟众,死狀恐怖析藕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凳厢,我是刑警寧澤账胧,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站先紫,受9級(jí)特大地震影響治泥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜遮精,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一居夹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧本冲,春花似錦准脂、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至添怔,卻和暖如春湾戳,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背广料。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工砾脑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艾杏。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓韧衣,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親糜颠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汹族,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容