您的位置:首页 > 其它

精心选择有效技术,不要轻易放弃

2015-08-10 21:00 239 查看
作者:查德·拉·瓦因

作为软件设计开发的老手,每个架构师通常都有一些让自己屡屡取胜的武器用来武装自己。这些技术由于种种原因深受架构师青睐,排在其首选解决方案列表的前几位。其中大多数是因为在激烈的竞争中胜出而在军械库中获得了合法席位。尽管如此,它们的地位还是会接二连三的遭受到新技术的威胁。我们常常会被迫放下曾经选择的武器而改用那些新家伙,但是,最好还是不要过快放弃那些你可以信赖的武器,这要冒很大的风险。

这并不是说,某种技术一旦己经入围首选列表(list of favorites),就可以永留罔替,更不是指你可以像鸵鸟一般将头埋进沙子中,对软件开发技术的发展进步埋头不理。每种技术都有各自的生命周期,最终将会被后来者所替代。技术飞速更新,优秀的解决方案层出不穷。作为架构师,我们应当紧跟产业趋势,但是我们并不必急于去做拥抱那些羽翼未丰的新技术的先行者。通常,为新技术做第一个吃螃蟹的人,并不能享受到多大的好处,反而可能会遭遇到不少挫折。

选择新技术虽然有风险,但其价值在于能为你带来质的飞跃。很多新技术都打着这样的口号登场,但真正能兑现承诺的实际上很少。只看见新技术中的技术优势非常容易,但要将这些技术优势推销到利益相关者手里往往很难。在决定使用新技术来另辟蹊径之前,问问自己,这样的决定能给实际业务带来什么好处。如果从商业角度考虑的最好结果也是“根本没有人会在意这些”,那么一定要重新考虑你的决定。

另一点也不容易忽视,那就是新技术的缺陷可能带来的成本问题。这些成本可能会很高而且难以统计。使用熟悉的技术时,你对它的各种特质了如指撑。无视新技术中包含的各种缺陷,是非常幼稚的。往项目中增加自己未能解决过的额外问题,将会破坏之前所做的成本预估。而用熟悉的技术来实现解决方案时,对所需成本更能做到心中有数。

最后要考虑的一点是技术的未来前景。如果真能简单到只管选择最优秀的技术那倒也确实不错,但事实往往并没有那么简单。技术优秀并不意味着总能胜利。过早预测胜利者,无异于是在进行一场回报不明的赌博。等新技术鼓噪的声势过去后,再看看它们是否能生存下来,成为确实实用的武器。也许那时你会发早前很多所谓的新技术都己销声匿迹不知所终了。不要为了那些没有未来的新技术,把项目置于险境。

软件架构师工作很大一部份,是要选择用以攻克难题的合适技术。精心选择熟悉的武器,不到万不得己绝不轻易抛弃它们。这些技术在过去给你带来了成功,尽量让它们在未来也能为你带来胜利,同时,以审慎的态度更新你的技术武器库。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: