#写好业务代码#4.三方件标准化

本文集说的都是些平凡的小事,但往往是这些小事区分了产品的伟大与平庸。

开源世界里有很多英雄式的程序猿,无私的提供这些三方件,不断提升软件开发的效能。向开源致敬。

1.杂谈三方件

(1)三方件对产品的影响

广义上说三方件可以很大,例如:编译器、数据库、操作系统、芯片,本文仅谈狭义的三方件,例如:apache common。

产品选择三方件等效于选择供应商,谈到供应商就涉及很多商务问题,谈到供应商就很容易理解他们对产品的深远影响。

在建筑工程领域,对于供应商的选择有一个“Q.C.D.S”原则,大致就是“质量,成本,交付与服务并重”——参考《柳和玲主编.采购管理.人民交通出版社,2007.7.》

软件领域中,三方件就好像水泥、沙这种基础材料,三方件的选择差不多也是一个意思,一个套路。

图1

(2)三方件的套路

开源世界很像小区物业组织的小区市集,这种市集的参与者有三种:

玩票性质:个体程序猿居多,将自己的代码作品共享出来供全世界程序猿免费使用。好像小区业主带着娃搬个小板凳摆个小摊,象征性的半卖半送自己做的小手工。

营销性质:商业公司居多,能够免费使用的代码一般是基础功能,高级功能就要收费了。好比小区新开的水果店摆个摊搞免费试吃,大妈们吃的不错就再买两斤带走。

公益性质:一般是有钱多金的富豪企业,钱挣够了,搞个基金会共享比较大型的软件组件,让全世界程序猿免费使用。和现实世界的富豪们做公益一摸一样。

对于玩票性质的开源项目,请怀揣着敬意,千万不要挑三拣四——站在玩票者的角度,笔者曾经开源了一个组件,我厂某产品的处理方式就是把笔者拉进各种评审会议,不胜其扰,所以很多玩票项目都标上“Open source,No support!”。

对于营销性质的开源项目,就要小心了,看清楚License说明——哪怕是最宽松的开源协议,也要多留心眼。关于各种开源协议介绍的文章很多,请猛戳这里

对于公益性质的开源项目,请胸怀全人类,因为这类项目一般也希望您也能公开您的产品源代码。

PS:GitHub近期响应特朗普同学的那一纸声明,令笔者有些失望,不管是上述哪种性质的开源社区成员,掺和政治因素,很无耻。

图2

(3)正确姿势与正确的人

很多公司会把三方件选择流程化,业务部门提三方件需求由专人评审,流程化是好事,是正确的姿势,但问题却出在提需求的人和评审需求的人。

提需求的人容易短视,而忽略了必要性和可获得性(比如:是否真的需要这个三方件?有没有可替代的三方件?三方件会带来未来多少成本?),而评审需求的人容易僵化,而无法做出客观评估,错过了很多优秀的三方件。

那么怎么才能避免上述问题呢?

提需求的人和评审的人要选择真正的一线程序猿,所谓一线程序猿就是“既对产品本身很熟悉,又对业界的三方件很熟悉”。

所以说,姿势很重要,人更重要。

图3

2.企业应用中常用的三方件

下面,笔者参考awesome-java,将常用三方件的大类摘抄出来,试图让各位读者形成一个三方件的全景图

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.总结

三方件要总结的东西太多了,以后慢慢更新吧。最后,我们用鲁迅先生的话结束本文:“规范千万条,三方件第一条。三方件不规范,亲人两行泪”

图4
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容