新的编程技术和生产率曲线

尽管我喜欢学习新的编程技术和技术,但我经常努力使它们成为我正常开发过程的一部分。 例如,花了好几年时间,我终于开始正常使用正则表达式 。 原因? 生产率曲线:



生产率曲线

您以前可能已经看到过这样的图表; 生产率曲线用于显示软件交付挑战之一 。 通常的想法是,当您首次使用新产品(或技术)时,短期内生产率始终会下降。 不管新东西有多好,一开始使用它都会使您的工作效率降低 ,因为您对旧东西更加熟悉。 但是,随着您对新技术的熟练程度越来越高,您的生产率将逐渐提高,最终您的生产率将比旧技术更高(假设新技术实际上更好)。

因此,关键是要克服最初的下降,最终您会掌握新技术,从而提高生产率。 容易吧? 好吧,如果您的公司只是更换了人力资源系统,那么您就别无选择了。 您将克服生产力下降的困扰,因为您别无选择。

但是,如果您刚刚决定要采用一种新的编程技术,则要困难一些。 在我掌握正则表达式之前,使用StringTokenizerssubstring之类的东西将丑陋的东西拼凑起来要快得多。 没有人关心我是否使用正则表达式,但是他们确实在乎我是否花了10倍的时间来完成一项任务。

在极少数需要更改现有正则表达式的情况下,我最终会遍历参考资料和在线教程,以尝试并理解它们。 每次,在最终弄清楚之后,我都会告诉自己,我要记住下一次它们是如何工作的。 但是由于我没有将正则表达式作为标准工具链的一部分,所以我会忘记我学到的所有东西,而下次需要使用它们时,我会再次迷失。

我最终通过强制练习强制应用而掌握了正则表达式。

强制练习非常简单:我专门花时间阅读参考资料 ,遍历教程并解决正则表达式难题 。 这种练习是建立技能的重要一步,但是我之前已经尝试过了一定程度。 我花了几个小时练习正则表达式,感觉就像我掌握了它一样。 但是时间会过去,而下次我需要修复正则表达式时,我会再次忘记大部分。

对我来说,关键是强制使用正则表达式。 就像贫穷的HR员工因为没有别的选择而学习新的HR系统一样,我强迫自己在可能有用的任何时候使用正则表达式, 尽管比起快速熟悉我已经熟悉的东西要花更长的时间 。 。 好的单元测试很有帮助。 尽管我对编写无错误的正则表达式的能力不满意,但对编写全面测试的能力也很有信心。

正如生产率曲线所预测的那样,起初我肯定效率较低。 但是当我强迫自己使用正则表达式而不是更快地组合在一起时,我逐渐有所进步。 不久之后,我就克服了生产力的下降,终于摆脱了正则表达式的困扰。 现在它们是我开发工具链的重要组成部分,而且我是一个更好的程序员。

我知道这并不是真正令人震惊的建议。 我五岁的儿子发现,做得越多,您就会在某些事情上变得更好。 但是,当您发现某些新技术要融入开发过程时,我认为重要的是要意识到它不仅需要花费时间来掌握它,而且在短期内几乎肯定会降低生产力学期比以前大 。 而且我认为,如果您为生产率下降做好了准备并愿意接受它 ,那么您可以度过困难时期并掌握它。 从长远来看,您将是一个更好的开发者。

翻译自: https://www.javacodegeeks.com/2014/09/new-programming-techniques-and-the-productivity-curve.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值