首页 互联网正文

程序员写程序的逻辑思维,和外行人想当然的思维,到底有什么不同

程序员写程序的逻辑思维,和外行人想当然的思维,到底有什么不同?

你是不是经常遇到一个产品老板给你改需求,或者临时加需求,尤其是一个你需要改底层的架构甚至重做的需求,这篇文章分析下,外行人想当然认为程序的样子,与程序员眼里的区别。废话不多说,举个例子,来说明一下程序员的思考模式。

程序员的工作,不是把一个篮子里现有的东西拿到另一个篮子里就完事了,还要在这个篮子里把未来客户能放入的所有东西,都要提前做好相对应的盒子,等待客户装进去。

nimg.ws.126.net.jpeg

比如,你要做个登录功能,使用邮箱和密码登录。

外行人会这么认为:输入邮箱和密码,点确定,哎?进来了。如果输错了,哎?密码不正确。

不是不可以哈,当你给的钱少了,或者程序员偷懒,一般会这么做。

程序员一般会做这样的验证:邮箱和密码为空的情况,两者有一个为空的情况,邮箱格式不对,包含缺少@和.,并且这两个符号前后都要有字母,当然,这个用正则表达式来验证就可以了,说的是这种思维方式。

不仅仅如此,你还需要在客户端一层、服务器一层、数据库一层做验证,一般只在客户端服务器做两层验证就可以了,为的是防止有人绕过客户端直接给服务器发请求,能在客户端拦下的,就不用让他去服务器端,节省资源。

所以,上面的验证方式来两套,这是一个简简单单的登录功能所要做的功课。

当然,现在的插件很多都集成了这种功能,说的是这样一个思考方式,其它更复杂的业务,也需要这样去思考,把所有能到达目的地的路都想一遍,客户想到的,我们要做,客户没有想到的,我们要提前想到,提前把路铺好。

nimg.ws.126.net.jpeg

你以为这样就结束了?

你以为这样就中以结束了么?too young too simple, 还要考虑各种安全带来的隐患和性能,从页面到controller端,到数据查询,各种调。

最最关键的是,敲黑板了哈,程序员们经常会面临你们改需求的问题,意味着之前做的工作很可能白做了,而剩余的时间不变,就是工作量变相加倍。

中小规模的系统,能用硬件解决,就别用软件,尤其是现在云服务器这么流行的情况下,增加一台服务器的成本已经大大缩减。

当然如果你的程序改一点点,加个缓存就能大幅提升性能的,还是改改代码吧。


谨以此文,献给在编程行业第一线的代码工人们


评论

精彩评论