引子

CRUD 之外

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

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

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

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

这些功能:

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

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

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

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


那些"应该有"的功能

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

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

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

从一个简单功能开始

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

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

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


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

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

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

相关推荐
SimonKing1 小时前
阅后即焚的加密便签:Cryptgeon,你口袋里的秘密信使
java·后端·程序员
灯澜忆梦1 小时前
【Redis中间件】#2 | 基础数据类型语法
redis·后端
孙启超1 小时前
【AI开发之Rust】第 6 课:结构体、枚举与方法 —— 开始定义自己的类型
开发语言·人工智能·后端·ai·rust
恋猫de小郭1 小时前
CPF-Flutter 社区提出折叠场景分栏(平行视界) 方案
android·前端·flutter
小蒜学长1 小时前
基于Python的微博热搜话题可视化分析系统的设计与实现(代码+数据库+LW)
后端·python·django·数据可视化·情感分析·微博热搜
BingoGo1 小时前
Whim 是什么?一门把 PHP 被否决的设想真跑起来的实验语言
后端·php
梦帮科技1 小时前
从提示词到可复现音乐工作流:RNOISE 2.0 的 Prompt Engineering 架构
人工智能·python·mysql·ci/cd·架构·node.js·numpy
aixingpan1 小时前
aixingpan.cn API开发文档:api_docs_trichart_natal_marx_transit2接口指南
前端·php
AI 小老六1 小时前
Agent 记忆系统难在取舍
人工智能·算法·架构·agent·memory·harness