有一种境界叫感觉

有一种境界叫感觉

吴旻

泰岩网络工作室

 

同事找我讨论事情,是关于对生产线上的数据流进行压缩,以期节省专线带宽,从而降低公司运营费用。我很快出具了否定性意见,同事说:你连试都没试,怎么知道不行?

我的答复其实就两个字:感觉。

这里我暂不解释原因,先说一说什么是感觉。

 

我生长在农村,小时候偶尔会被母亲“动员”到田里干活。比如说,早上六点到田里,大约要干到十点半才回家。在这个过程中,我们没有钟表,对时间掌握,全来自于我的那句问话:妈,现在几点了?

母亲或者报个时间给我,或者说回家吧。一般到家的时间,都在10:25~10:45之间。我很奇怪为什么母亲就知道是几点呢?母亲的回答是:我必须知道是几点!

母亲在生产队时代是妇女队长,是每天带着大妈、大婶、姐姐、妹妹、侄女们下田干活的人,那时候大家都穷,买不起手表,于是队长必须在没有计时工具的情况下知道时间,不管晴天白日,还是阴天下雨。

这种下田干活的经历多了,很快我也能估计出大致时间了。比如我会问母亲,到十点半了吗?母亲基本都回答:回家吧。这种感觉多年未变,导致我现在从一个地方出发时如果没带计时工具,那我也会基本清楚大致时刻,从而不会迟到或者晚点。

         母亲有一种感觉是我所学不来的。母亲过了中年以后,会对天气有感觉。他会对我说,儿子,收东西,要变天了。其实当时天空特晴朗,但我还是得听她的。母亲的手受过伤,一要变天,就会发木,比天气预报还准。

         我小时候会和兄弟姐妹们玩一种类似赌博的游戏,就是随机抽取两张扑克牌,猜中点数大者赢。我当时能通过手掌在两张牌上晃过而知道哪张牌大,不是100%准,但至少会有80%是准的,这导致我玩这种游戏从来没输过,到后来,他们干脆规定不许我用手来测试。我到现在也不能解释其中的原因,但那确实是一种感觉。

 

         搞艺术的人其实更是强调感觉。作家要对语言有感觉,能体会出相同的词不同的组合所表达出的细微差别;画家要对颜色和光线有感觉,能体会出其中的感情所在;音乐家要对声音有感觉,能体会出欢乐与悲伤。

         软件开发要求程序员对代码和架构有感觉,感觉到其中的美与丑,自由与拘束,放松与紧张,安全与危险。对同样的代码或者架构,处于不同的环境,也能感觉到其中的不同,就像红色既能表达喜庆,也能表达紧张与危险一样。

 

         回过头来,我解释一下我为什么会否定同事的意见。

         XP开发中常会用到一个词,叫“坏味道”。

同事的意见给我的第一感觉就是“坏味道”。它会使整个架构复杂度大大提升,而效果却未必有预期中的好。比如:

1、我们的程序对实时性要求非常高,压缩后传输,接收后解压,会导致一定的延时。

2、我们的程序大量是小包的流数据,以一个包为单位压缩只会增大流量,若干个包组合后压缩,要么引入高复杂度的算法,要么产生延时,或者二者同时兼备。

3、就算是能将数据压缩到原来的50%,那节省的这一半带宽,到底能省出多少钱?我们大量的客户群依赖的就是这条专线的畅通,如果有一天我们的通信量增一倍,又该如何处理?

4、我们有很多的用户体验很差的功能,这个才是我们眼下需要着急解决的;相对于客户流失的危险,眼下每个月多在带宽上花上一两万都是很值的。

 

其实降低流量还有一个可以做的事情,就是优化或者过滤掉某些冗余数据包,而不一定是压缩。或者说,压缩数据流在通常情况下是好主意,但对于实时性要求高的系统,就不一定了。

 

软件开发人员对代码和架构的感觉,就应该像厨师对嗅觉和味觉的感觉一样,不仅要有,而且要准!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值