某电商项目的若干技术问题

   某电商项目,存在若干问题,随便想了想,列举了一些。

   首要问题:业务和功能规划,总体技术架构(短期+长期)。移动端代码,可能处于 失控状态。

1.业务分析和设计
  没有,边做边想,产品思路不对,改产品,改界面。
  技术方案有问题,改技术。

2.技术架构

图片:缩略图,很多地方的图片,不应该展示原图,比如前后端的列表页面,应该使用某种格式的“缩略图”
库存:商品-库存,库存可以单独上架和下架
验证码:短信,邮箱,  业务-手机号
登录:PC、移动端

多终端:PC、移动端、多个移动端
分布式:登录、注销、多设备

3.同一个问题,解决方案众多
  图片上传,使用组件多种多样。

4.小功能,大设计
  商品搜索框,比如自动提示。看起来很简单,背后有巨大的产品设计和技术设计。
  商品搜索,店铺搜索

5.统一拦截
   登录、权限、 异步交互接口(登录过期、业务错误、系统错误、请求超时)

6.JS
  前端JS封装,比如post请求,检查是否过期、业务错误等
  后端JS封装,JS库混乱,多个jQuery,不同组件依赖的jQuery版本不同
7.移动端。登录
  保持登录?什么时候需要跳转到登录界面。什么时候需要,自动登录刷新。服务端保持多久?
 移动端保持登录1天,服务端Session也保存1天吗?

 移动端和Web前端:统一包装post请求,从服务端拿到结果,根据返回码code统一处理。
 500:提示
 超时:
  正常:回调每个业务的函数,或者每个业务单独处理数据,再渲染界面。
-------------------------------
1.物理删除
   delete
   商品、库存等,通过搜索delete,可以看到很多
2.代码重复。循环内部调用-性能极差。
3.垃圾代码
   存在不少没有使用的 历史遗留代码,通过 依赖,可以找出
4.代码不清晰
    后端、前端、js,类名、函数名、方法名,不准确。业务逻辑,不清晰。
   比如 deleteAll1 deleteAll2等
5.字符串,提成 常量, 1 2 3等数字, trousers 等字符串。
6.参数检查
   前端js验证之后,后端 基本的“为空”和“整数”等验证,再加上 业务验证,比如 “订单状态检查”

   PageHelper,分页参数检查
   绑定手机号,和之前的应该不一样
7.日志
   错误日志基本没有
8.锁、同步、事务、性能、表索引
9.前后端 公用库
   共用一个Service,一个Dao,一个Mybatis的Mapper。
   同1个代码,兼容支持后端和前端,sql语句 越来越复杂
10.查询
   多表联合查询比较多
11、前台系统,鸡肋功能多,用户体验极差
12、深层次的测试
  系统分析业务场景、根据源代码分析。简单的功能测试,太初级啦。
13、模块划分,合理组织
  后端代码、html模版
14.redis分离
    登录、业务(重要程度不同,登录的会话数据,数据库中没有缓存的)

原文地址:https://www.cnblogs.com/qitian1/p/6462451.html