就这个视频,评论区清一色都是说各种安全问题、SQL注入问题
看到这里我就在想,我们开发一款应用程序,首要原则应该是什么,真的是大家所说的安全问题吗?首先把大量时间花在安全问题上,然后再花一小部分时间去实现功能?
我认为不应该是这样的,应用程序是始终是需求的产物,所以首要原则应该是满足用户的需求,然后再谈其他的安全、设计、性能什么的。

就以这个例子来说,虽然写得真的很不优雅,但如果这款程序是运行在公司内网里面的,不说完全没问题,起码百分之九十九没必要担心安全问题,只要程序整体逻辑通顺,满足了公司内部的管理需求,提升了效率,用得顺手那它就是一款好程序。不然代码写得很花哨,用起来体验感却超级差,解决不了实际问题,那就是一款失败的产品。
说到这里,我又想起前些年接到的各种软件推销电话,以及上门做软件推销的,一开口就说,我们的软件用的什么什么技术,什么什么框架,什么什么加密算法,有多安全。当时我就在想,你说的这些跟我有什么关系,你要介绍不应该是这款产品序给我带来了什么利益,解决了我什么问题吗。所以这样的推销就是一个失败的推销,产品推销不出去,那产品也就成为了一个失败的产品。
安全是挺重要的,但有时候也并不是那么重要,安全是这款程序的基本,而不应该成为宣传的重点,如果过分的追求安全、优雅、性能什么的,那就是本末倒置了,与其花费大量时间去研究安全问题,还不如把时间花在如何优化用户体验以及满足用户需求上来得实在。
我同学,之前在某宝上找了一个店家开发一款股票相关的软件,已经把需求明确的给到店家了,但最后软件开发出来,除了本身的需求之外 ,还多了其他的东西。我同学就给我吐槽说,这什么程序员,连理解需求都不会,还开店铺,那些功能都不是我想要的,还都给加上了。当时我也在想,其实那个店家的出发点应该也是好的,在你的基础上多给你加一些功能,还不收费,你应该很开心。但是他可能并没有想过,这些都只是他自己的一厢情愿而已,他自己认为好的东西我同学并不觉得好。
扯远了,还是回到程序开发本身吧。我认为一款好的应用程序,首要原则就是满足客户的需求,在满足了需求之后再考虑别的,甚至都不用考虑别的。就像前面说的,如果那款软件是运行在公司内网里面的,都可以不用考虑安全问题,只需要满足用户的需求,然后以最快的速度完成开发就行,后期如果有需要了可以通过更新迭代来完成,要把有限的时间用在更有意义的事情上。
酒香不怕巷子深的年代已经成为了过去式,只有最先抢占了市场的,才是赢家。这个年代,除非是处于垄断性的产品或者企业,亦或者是搞研究的,不然所有的技术都要为业务服务。过度的深究技术没多大意义,用户接受的产品才是好产品,当然了,为爱发电的另当别论。