“新技术“的反思

最近看了篇关于新技术风险的文章,结合自身经历,反思并总结下项目中应用所谓“新技术”的一些想法。(后面想到了再补充)

何为“新技术”

谈论“新技术”这个词的时候,很少深入、明确地解释这个词的意义。在我看来,这个词有诸多歧义,比如:

  1. 新出现的技术:历史上较晚出现的技术;
  2. 新引入的技术:项目中原来没有采用的,刚刚引入的技术;
  3. 新学会的技术:一个开发者原来不会的,刚刚学会的技术。

(更多待补充)

我想上面提到的三种,都可以称为“新技术”,却是三种不同的“新”:第一种新相对于客观时间而言,第二种相对于项目历史而言,第三种相对于某一开发者而言。某天某人谈论到“新技术”的时候可能同时具备上面三个特征,比如一个人将他刚刚学到的最近新出现的技术应用到项目中;也有可能对甲来说是新技术,对乙来说却是个经典技术,比如,乙学了某些很古老的冷门的经典技术,但甲没听过,甲就将其当作是“新技术”。

“新技术”的风险

上面说到的三种“新技术”都有对应的风险。

一、“新出现的技术”的风险

第一种是“新出现的技术”,这类技术风险是最大的,主要有:

  1. 测试不完备:这个技术可能未经过完备的安全测试,或许存在很多漏洞;
  2. 文献参考资料稀缺:相关资料的稀缺导致难以进行全面的学习(问题见下面关于“新学会的技术”的描述);
  3. 实用性缺少检验:很多新出现的技术是在单纯的环境中设想、创造出来的,但现实要更复杂、更无理,能不能在实际项目中高效、安全地应用,有待检验。

二、“新引入的技术”的风险

“新引入的技术”风险主要有:

  1. 跟项目原有设计不一致(比如在命令式风格的项目中,局部引入声明式的框架);
  2. 跟项目原有的实现不兼容;
  3. 该技术相关工程规范缺失而导致开发合作问题(比如开发对技术的理解不同而导致各种姿势的代码);

不过好在这个问题都是可以规避的。

三、“新学会的技术”的风险

“新学会的技术”的风险如下:

  1. 选择性学习导致对技术理解不全面;
  2. 相关资料缺失导致无法深入、全面地学习;(目前很多技术的文档中侧重阐述“是什么”、“怎么用”,而关于“为什么”、“隐患和改进点”描述甚少)
  3. “拿着锤子看什么都像钉子”。

一些建议

以下是一些建议:

  1. 对于新出现的技术,多观望,多调查技术背景和开发者背景,应用之前多实验。
  2. 对于新引入的技术,保守使用,尽量只用主要功能,减少对冷门部分功能的使用,做好工程规范整理,多做项目沟通。
  3. 对于新学会的技术,学习要完善、深入,然后忘掉它,需要的时候再用。

个人拙见/偏见:通常技术的创造者比使用者能更好地使用这个技术,所以与其“有什么用什么”或“在已有的东西里挑最好的”,不如“需要什么就创造什么”(如果已经有差不多实现,并投入使用,可以考虑用别人的实现,但需检查实现)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值