如何成为一个伟大的开发者(三)

作者简介:Peter Nixey,Ruby on Rails程序员,前计算机视觉学者、企业家,Clickpass公司CEO,YC孵化器的企业规划导师,Brojure公司CTO。

重视产品的生命周期成本

新手开发者们热衷探索和折腾。他们热爱那些最新最闪亮的技术,不管是No-SQL数据库还是高并发的移动服务器,总是恨不得把所有新工具新特性全部使用起来,但这往往给后来的开发者留下一堆烂摊子。

功能和架构的选择会影响到建于其上的一切。潜在的抽象泄露风险,引发的后果将不堪设想。除非你有足够的理由,否则千万不要使用那些尚处于测试中的功能。所有主要项目的开发,都应该小心翼翼。如果非要尝试这些新特性,最好在那些辅助项目上尝试,这样保险得多。为了将来不把大量的时间都用来弥补前期捅的娄子,要谨慎使用新特性。

理解技术负债

技术负债是指那些混乱糟糕,但还能工作的代码。比如一个本应该用面向服务的架构,却单独开发了的APP;或者一个重构后只需要十分之一执行时间的Cron任务脚本。

技术负载不仅会累加,还会带来复合效应。爱因斯坦说过,“世界上最强大的力量是复利”。类比到软件开发上,技术负载的复合效应也最具有毁灭性。多数开发者遭遇过这样的项目:哪怕是一点轻微改变,都不得不花费几个月的时间。这种情况下,你会失去保持代码整洁优雅的兴趣和耐心,只求不要把整个服务弄崩掉。

技术负债还有一个特点是:你不需要偿还。当开发的一个功能最后发现是错误的、不工作的,你会直接放弃它,同时也放弃所有的优化、测试及重构。所以,如果不是真正需要的话,那就不要去开发。将效用最大化,忽略错误。

技术负债,就像一个蛙跳游戏。最初的代码都只是尝试,只要能实现目标快速推进就好。这让我们有足够的时间来提出解决方案,足够的空间来建立基础设施。产品的生命周期越长,投入在基础设施上的时间就越长。有了稳固可靠的基础设施架构,才能支撑起一个高质量的产品。

总结并分享所完成的工作

不管用什么样的风格来注释文档,不管是用邮件还是Wiki,一定要花时间记录开发流程以及所用到的资料,并分享给其他团队成员。他们和你一样,也会遇到各种安装和调试的问题。软件开发中,最令人头疼的事情就是花费大量的时间来解决bug和安装调试。如果你用一点时间来制作文档或者教程的话,将为团队省下更多的宝贵时间

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值