我们做技术的,天天在写程序。有一个问题,可能一直困惑着大家:什么样的程序才算一个好程序?换句话说,什么对好程序比较重要?或者说,程序需要什么?其实就是程序有哪些需求。
大家都知道马斯洛的需求层次理论,研究对象是人。而程序是人类目前发明的最有用的工具之一,并且越来越智能化。程序是人类思想的产物,越智能,其实就是越接近人脑。可以说,人就是上帝写的程序。基于这个假设,我觉得可以把马斯洛的需求层次理论和程序的需求结合起来。
生理需求
生理需求就是生存需求,人类生存需要各种物质比如说衣、食、住、行等等,这个是最基本的需求。而对程序来说最基本的需求是要能运行——Make it work!能运行的物质条件包括:CPU、显卡、运行时、二进制代码等等。在这个需求里面涉及两个特性:一个可测试性,一个是性能。运行的快慢涉及的特性就是性能,就像人吃饭,有好坏之别:可以吃馒头,也可以吃山珍海味。可测试性是手段,目的是为了保证二进制代码的正确,从而能运行。
安全需求
安全需求其实就是随着时间或者外在环境的变化,生理需求能一直被满足的需求。对程序来说,安全需求就是能一直运行。专业术语就是可用性。
社交需求
社交需求就是人人都希望得到相互的关系和照顾。而对应程序来说,就是程序的交互性。单独的程序是没有用的,要么和人交互,要们和其他程序交互。好像一般程序都满足这个特性。
尊重需求
尊重需求就是希望能力和成就得到社会的承认。对程序来说,社会就是人或者其他程序,最能表现尊重需求的是程序的易用性。
自我实现需求
这是最高层次的需要,它是指实现个人理想、抱负,发挥个人的能力到最大程度,达到自我实现境界的人。这种需求 要求人不断成长,对程序来说,就是可修改性。这样程序才能不断完善。
所以总的来说,对程序而言,首先要保证它能work,其次是一直work.最后才是易用性和可修改性。心中有了这个层次,我们写程序可能会多点方向感吧...
程序的需求层次