造“运载火箭”和造“航天飞机”

造“运载火箭”和造“航天飞机”

吴旻

泰岩网络工作室

 

         故事的来源有两个:一是讨论“编写代码时要不要考虑跨平台”引发的争论;二是平时项目设计时有些兄弟拿出来的方案实在是让我觉得有必要聊一聊。

 

今年春季的时候,我和我的老大谈到我们的代码是跨平台的,可移值性很好,结果遭到老大一顿痛骂。我当时当然觉得很委屈,但老大的出发点是觉得业务上就不应该使用于多平台,所以跨平台反而对我们不利。

以上的例子就足以说明,代码要不要跨平台其实就是预期定位的问题。定位或者定义不清,或者前提假设不一致,是我们产生误会的根源。定位它可移植,那它就应该可移植!但没说要可移植,开发人员却非要做成可移植的,就太自以为是了。

 

小时候家里穷,所以常常老大穿完的衣服老二穿,老二穿完老三穿,依次类推。那时候家长买衣服必须考虑到要多穿几年这个现实,所以选择不外乎中性、宽大和结实耐用。而今天我们买衣服更强调的是个性化,强调的是越适合自己越好,根本与别人无关,所以买的衣服也大不相同。

这里根本不存在什么谁对谁错的问题,而是要不要和适不适合的问题。实际开发应用中,我们发现有大量的项目是不太存在移植的可能性的,比如说应用层的开发;而某些代码、模块确实有重用的可能,比如算法开发。业务会不会导致项目移植,要不要跨平台,是公司上层决定的。今天觉得不需要跨平台,而市场机会稍纵即逝,那就赶紧抓住机会开发出客户想要的程序;明天觉得有必要跨平台了,那就再重构出一套跨平台的业务逻辑来。项目开发不是真理,也不可能是真理,一旦决定,永远不变!指望一次开发,终生受用的可能性已经几乎不存在了!XP开发模式这么多年来这么流行,其实也就是这个意思。要考虑到业务速度,要考虑到代码和模块的重用性,但不会凭空为跨不跨平台这类事情争论不休,当然如果确实需要跨平台,那就不需要争论。

 

前段时间,一个同事的设计被老大给否掉了。不是那位同事的设计在技术上有什么不好,是他想的不是公司的目标,而是要“成就自我”。程序员要成就自我没什么错,但前提必须是“融入团队”。按自己的想法与兴趣,去设计并主持开发项目,是技术人员的理想。但这一定要符合公司的利益才行,而不能只是为了实现个人的理想,这样肯定是不会得到公司高层的支持的。

中国有句老话,叫“不合时宜”。它不是说对不对,而是说恰不恰当。比如,运载火箭和航天飞机的功能差不多,但相比较而言,前者非常便宜,打一颗上天,用完就不要了;后者要可重复使用,光每次发射的费用就快够造一颗运载火箭了。懂点常识的人都明白,航天飞机比运载火箭技术上要高一个层次,要想掌握更先进的技术,要想成就自我,玩航天飞机更合适。但现在连美国人都想用运载火箭了,就是因为实用、省钱;后者不是不好,但目前来讲,太不合算了。

 

         技术人员给自己错误的定位,导致了目标的偏离。一般来说,我们是工程技术人员,或者叫软件工程师;但我们好多人心中的目标却是技术研究人员,是教授、研究员或者院士。前者更关心利益和实用性,后者更关心科研成果和技术的先进性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值