写代码的目的

写了那么多年代码,突然想自问一下:写代码的目的到底是什么?

在回答这个问题之前,我想先归纳一下软件开发者的职业生涯,总体说来可以分为这么几个阶段:

初级阶段:仅仅是简单的完成上级分配的任务。上级让做什么就只做什么,甚至对代码的性能,可靠性,可扩展性,可维护性都不加考虑。此时开发者最需要的是一份详细设计文档,并按照文档进行开发。这个阶段的人对需求变更相当排斥,甚至会因此频繁跳槽。绝大多数开发者的职业生涯也终止于这个阶段。

成长阶段:这个阶段开发者会对代码本身产生浓厚的兴趣,并在开发中加入一些自己掌握的新技术,比如各种模式、算法等等,开发的目的是为了写出“好”的代码,这其中会有一些“炫技”的成分。

发展阶段:开始考虑可读性,关注代码这么写是否能明确表达我的意图?将来其他维护人员能不能看懂?或者自己再过一段时间后还能不能看懂?

高级阶段:站在产品的角度思考代码。能站在用户的角度思考需求,用户需要的并非代码本身,代码是为了实现需求服务的。此时开发者会思考这个功能是否能满足用户需求?有没有更好的方案?

终极阶段:会针对需求的变更做准备。将来需求可能朝哪个方向变化?现在只要求一种场景,将来会不会要求多种场景?当变更来临时是否只需要付出最小的代价?对一切的变化都在运筹帷幄之中。比如Andriod团队当年在仅仅修改了3行代码之后,就将系统移植到了另一个硬件平台上。

在经历了这么几个阶段之后,会发现写代码的目的其实很朴素,归根到底就两个。第一个是基本目的:满足用户的需求;第二个是高级目的:能够灵活应对需求的变化。至于那些算法、模式、健壮性、可读性等等,都是为这两个目的服务的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值