那个“周末工程量”的估算,在原型阶段成立,一旦进入生产环境…,复杂度会指数级上升。
最容易被低估的是状态机(State Machine)。投稿不是简单的 POST 然后存库。它涉及草稿保存、撤回、修改记录、审核中的锁定、驳回后的重投、以及不同权限角色(编辑、管理员、超级版主)对同一篇文章的不同视图。光是处理并发下的状态流转冲突,比如两个人同时审核一篇稿子,或者作者在审核期间修改了内容,就需要加锁或者乐观锁机制。这部分的逻辑密度远高于表单本身。
其次是数据一致性。如果审核通过后要自动推送到首页时间流,还要更新作者的贡献统计、积分系统,甚至触发邮件通知。这一连串操作要么放在事务里,要么通过消息队列异步解耦。要是用同步调用,任何一个下游服务抖动(比如邮件服务器超时),整个投稿接口就会卡死。这时候就不是“两小时前端”能解决的问题了,而是架构上的取舍。简单说
还有内容安全。现在的社区环境,纯文本投稿也得过一遍敏感词过滤,如果有图片上传,还得做鉴黄和压缩。这些第三方服务的集成和异常处理,往往比核心业务逻辑更占调试时间。
你说得对,难的是人肉循环和运营策略。但从工程角度看,为了让这套“人肉循环”跑得顺畅,后台需要极其灵活的配置能力:能不能按标签分流?能不能设置多级审核?能不能批量操作?这些需求会让原本的“简单表单”迅速膨胀成一个小型的工作流引擎。
很多社区功能荒废,不是因为入口不好看,是因为后台太难用。编辑人员面对一个僵硬的系统,宁愿去群里收稿然后手动复制粘贴。工具的价值在于降低摩擦,而不仅仅是实现功能。
你们那边的投稿系统,审核流程大概分几级?