作者回复: 安全是这个流程改进最大的好处之一。
作者回复: 我一直想在留言区看到有人讨论这个方案的安全改进。 谢谢你分享了这个想法!
作者回复: 定位错误是其中的收益之一。如果1/10的用户输入用户名错误,你可以简单估算、揣摩一下实现得当的服务器的性能提升比例以及用户的体验提升程度。
现在的界面,也有的不显示密码输入框,直到用户名校验通过,才显示密码输入框。 也有的使用两个页面,第一个页面用户名,第二个页面密码。
作者回复: 看起来像是说依赖关系,上层依赖下一层,复用模块不依赖上一层的,可以考虑放到下层的模块,这样复用更方便更多。
作者回复: 确实有空间来检测登陆环境。比如说,通过检查该用户名是否正在使用常用的设备,来决定是否启用更多的校验,比如验证码、检查是否人工操作等。
作者回复: 每一层的代码,都要考虑复用。也许,“下沉”说的是复用代码剥离出来,当作通用的类库?我不太了解这个说法。
作者回复: 嗯,这也是一个优点。
作者回复: 你说的精益思维是持续改进的意思吗?我比较倾向于一开始就选择简单的方案,最核心的需求,然后再把这些简单的东西做好,持续改进。
作者回复: 分不分两个接口,总体逻辑可以不变,也可以改变。性能提升不太容易想的到,理一理客户端和服务端的代码的什么样,想一想可以怎么变化,意外情况怎么处理。
作者回复: 都是好习惯!
作者回复: 看代码逻辑和长度吧。 如果长度段,写在使用它的方法内就好了;如果长度长,逻辑独立,拆解成一个内部私有的方法,更容易理解和阅读。