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

来源:互联网 发布:复杂网络边 编辑:程序博客网 时间:2024/04/29 11:18

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

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

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

原创粉丝点击