Programmer
公众号:网瘾少年之路
公众号:网瘾少年之路
展开
-
你是否也默默吐槽过XXX的代码写得真烂?
前段时间在做前端监控代码的交接,交接之前对代码质量有点忧虑(实际上也没有想象的那么差… - _ - ) 忧虑的原因是什么呢,曾经做一线开发时,用到公司基础框架组提供的框架时,当大家觉得不好用或者翻看源代码发现代码质量不高时,都会整齐一致的默默的一顿吐槽!~ 后来,当自己也成为了基础框架研发组的一员时,就特别小心,深知吐槽的威力… 这里是背景,再回到本次代码交接。 忧虑的根本原...原创 2019-12-01 16:59:31 · 226 阅读 · 0 评论 -
关于代码质量的一点思考
最近在做基础开发框架登录模块的重构,所以来谈一谈关于代码质量的思考。 进入正题之前,先吐槽一下,看看能不能引起一点共鸣。 之所以要重构这部分的代码,原因很简单,公司的测试团队通过压力测试发现登录这块有性能问题。同时,基于另外一个使用产品基础开发框架的团队需要在登录这块进行一些业务上的扩展。怀着激动的心情打开这块的相关代码,首先第一感觉就是杂乱无章,排版糟糕。没办法,要解决问题,还是得硬着原创 2016-11-13 18:15:55 · 504 阅读 · 0 评论 -
登录模块的设计
最近做完系统登录模块的重构,登录这块的核心在于安全的控制。下面通过本文来总结一下登录模块的设计实现,以及哪些方面需要注意。用户创建 密码保存需要做不可逆加密。即密码不能明文保存且即使是内部技术人员也无法得到真实密码,常见的加密方法有MD5,SHA系列算法,如果对加密算法不太了解的可以移步这里。 密码强度限制。不允许使用弱口令,比如跟用户生日相等。 手机、邮箱验证。方便后续找回密码。 用户登录需要注意原创 2016-11-21 09:28:46 · 10309 阅读 · 6 评论 -
循环删除数组元素的几种姿势
问题 在码代码的过程中,经常会遇到在循环中移除指定元素的需求。按照常规的思路,直接一个for循环,然后在循环里面来个if判断,在判断中删除掉指定元素即可。但是实际情况往往不会像预想的那样顺利运行。下面以一段Javascript代码为例演示这一过程。 (function () { var arr = [1,2,2,3,4,5]; var len = arr.le原创 2017-04-07 14:04:11 · 667 阅读 · 0 评论 -
工作流产品模块化设计构想
之前做过几年工作流产品的产品研发,最近正在的做的知识管理产品,需要新增文章审批功能,实际上就是一个简单的工作流。做完这个事情后,发现市面上单纯的开源工作流引擎居多,还没有一款全功能的开源工作流产品。顿时有了自己抽空余时间折腾一个的想法,权当把之前的工作经验与想法归纳总结一下。 在我的构思中,为了最大限度的复用,这款工作流产品应当是模块化可拆分的。你差一个流程引擎那么你用引擎部分即可,差权...原创 2018-02-22 17:39:19 · 691 阅读 · 0 评论