[技术讨论]软件与程序的差别

有人问:
有些人代码很烂但完成功能,有些人代码很好,但完不成功能
回答:
这两个不用讨论,功能完不成,没有优化代码的条件,代码再好也是垃圾。
在确保功能完成的情况下优化代码,才是有价值的。
有人补充说:
其实我这里说的不是一点功能都没完成。
而是完成了大部分功能,但是异常处理等都没做。
比如看到轮子不爽了自己弄一个,然后很多细节留着没解决。
回答:
软件开发都有基本的功能要求。
任务的完成必须完成基本的功能要求,同时满足该功能需要的相关的性能稳定性等的测试。
否则,根本不算任务完成。
异常处理本身就是功能要求中必须有的,而不是随便拍脑袋出来的东西,那不是软件开发,只是写程序了。
很多细节,是否可以用下面的例子来类比说明一下:
例如数值输入!
一种方式是我直接禁止非数值的输入,只允许小数点和半角阿拉伯数字的输入。
另一种方式是提交的时候才进行检查,看是否输入有错,警告,然后才允许进行后续操作。
这两种方式都可以满足用户的最终要求,但是哪一种更合适,或者说UE更好,就要看用户的使用习惯。这些应该在代码编写完成后的一个阶段内完成或者此前就调研清楚。
如果说这些调研没有做,需求说明书中也没有标明,那就说明你这个项目的需求调研人员没有尽责,需求规格说明书或者调研文档本身就有缺陷,必须通过后续的用户试用过程进行反馈和修改调整。
软件开发,不是学生写程序,可以要求用户必须如何如何输入,如何如何操作,用户是可以随意输入的,而你必须通过判断来帮助用户进行正确的输入和操作才可以。
这一点的区分就是研究所学校与软件企业的不同,06年初曾经在自动化所讲过一次什么是软件什么是程序的讲座。当然,国内很多软件企业这方面做得也很不好,但是往往是通过市场关系或者各种方式摆平的。
其实很多东西都可以提前预计到,完成,让用户减少抱怨,减少很多的变更和重复的修改。

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页