软件最重要的是做什么,而不是怎么做

假设把软件分成两个方面,一个方面是做什么,一个方面是怎么做,那么哪个方面更重要貌似是不言而喻的。实际上,我认为跟软件相关的任何人,都应该将自己对软件关注的焦点首先放在做什么上。

似乎前面说的有点废话,但我感觉程序员在编写代码的时候,往往会忽略了这一点。太多的代码纠结于如何去实现一个功能,而这个功能本身究竟是什么,从代码上看却经常是模糊不清的。我还是认为任何一段代码都应该清晰的反映出这段代码所代表和实现的业务。毕竟业务是软件的根本,先有了做什么,才能有怎么做。而做什么往往又是在不断变化的,所以这需要程序员在编码的时候,能够从业务的角度出发去思考问题。当实现具体需求的时候,要想到这究竟是代表了哪些业务,根据业务来组织自己的代码,而不是把一大段逻辑都一古脑的糊上去,变成一大锅浆糊并在一段时间后散发出腐臭味——这种臭味我们实在见得太多了。

从另外一个角度来说,这也是代码的沟通性的问题。举个例子,updateStatus(order, Status.approved)就显然不如approve(order)的可读性好。但如果只考虑实现功能的正确性,那么就很容易写出前面的代码来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值