引子

CRUD 之外

增删改查很简单,把增删改查写好却一点也不简单。

都说业务开发不过是 "增删改查" 。

直到真正交付的时候,你才发现:

  • 需求只说 "做个列表" ,却没说分页、排序、筛选、空状态、异常状态和大数据量下的性能;
  • 设计稿只画了正常流程,却没画加载中、重复提交、网络超时、权限不足和接口失败;
  • 需求只说 "新增一条数据" ,却没说幂等、防重复、事务、一致性和并发冲突;
  • 需求只说 "删除" ,却没说软删除、数据关联、误操作恢复和审计记录;
  • 需求只说 "导出 Excel" ,却没说十万、百万甚至千万条数据怎么办。

这些功能:

需求里没写,设计稿里没画,技术方案里容易忽略,评估工时时没算在。

但到了交付的时候,它们往往又会变成一句:

"这个不是应该有的吗?"

等到上线时,人们往往只是只是在酒吧里点了一杯咖啡,酒吧就炸掉了,没有漏掉了以上隐形隐形工程需求导致的问题,本身是需求问题,却被当成 bug 提出来。


那些"应该有"的功能

《CRUD 之外》就是一个专门讨论这些 "应该有" 的技术专栏。

这里不追求把一个功能从 0 写到 1 ,而是研究如何把一个看似普通的 CRUD 从 1 做到 10:

  • 高可读
  • 易维护
  • 高可用
  • 高性能
  • 高鲁棒性
  • 在合理成本下尽可能优秀的用户体验

从一个简单功能开始

从一个输入框 、一个列表 、一次查询 、一次提交开始,逐渐深入到:

防抖与竞态、幂等与并发、缓存与一致性、权限与数据安全、大数据分页、批量处理、异常恢复、降级容错、可观测性......

以及那些只有真正上线之后,才会逐渐暴露出来的工程问题。


因为真正困难的,从来不是写出增删改查。

而是把增删改查写到让用户觉得------

"这不就是一个很简单的功能吗?"

相关推荐
程序员老赵5 小时前
Docker 部署 Dolibarr:轻松搭建开源 ERP/CRM 平台
运维·前端·后端
MayBaymax5 小时前
MQ 基础概念与架构
java·中间件·架构·java-rocketmq
星禾元亨5 小时前
同一件事有三份资料,AI 该信哪一份?冲突判定、优先级链与处置流程
前端·人工智能
Dovis(誓平步青云)5 小时前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
嘎嘎风5 小时前
MiniMind 学习笔记之 04 注意力之外:位置、记忆、省显存、省时间、深加工
架构·源码阅读
穆梓兰煊5 小时前
TS5.7 vs 裸JS:AI应用少3坑
前端
榆瓷6 小时前
闲着没事,我把 WebGPU 的样板代码封成了一个库
前端
量化分析码农6 小时前
【Python量化系统工程实战 #06】从本地脚本到云端部署:量化系统的最小可运行架构
后端
136096757236 小时前
页面打不开不是 Nginx 的错
前端·后端
ALONE阿龙太原微码6 小时前
RBAC 以及主流权限模型
后端