news 2026/10/29 7:36:36

170个点位锁在Java常量类里:多钢厂配置从硬编码到产品化的踩坑复盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
170个点位锁在Java常量类里:多钢厂配置从硬编码到产品化的踩坑复盘

上周排查一个数据串台问题:2#机组的实时数据莫名出现在1#机组的看板上。顺着调用链翻了三处代码,发现unit_code字段在异常时静默兜底为SM1,三处兜底逻辑还不一致。一个字段没校验,两机组数据直接交叉。

这个bug只是冰山一角。把三项目、前后端共6个代码库拉通看了一遍,真正触目惊心的是:约170个点位仍然硬编码在Java常量类里,所有点位配置表没有任何管理界面——改一个点位,改完代码,发版,祈祷别漏改另一处。

炼铁端的bf_points_config:唯一做对了的事

在炼铁后端里找到一张表叫bf_points_config,字段关系是 custom_code ↔ point_path ↔ unit_code ↔ page_code。我翻了irononline、charge、dump、ironreport四条链路的代码,确认改点位只需UPDATE这张表,前端零硬编码、零发版。

这是整套系统里架构最干净的一块。烧结端的SM_QS_PAGE_POINTS(11个页面、140+点位)和SM_SCALE_MATERIAL_CONFIG(带enabled开关,V4.16的注释原话是"换点位UPDATE即可代码零改动")方向一致,但覆盖面远不如炼铁端完整。

烧结端:140个字段塞进常量类,改一个点位要发版

烧结侧的硬编码重灾区集中在三个文件:

  • SinterBoardPointConst:11个点位,常量名直接写死前缀
  • ProcessParamFieldConst:140个字段,每个字段对应一个点位路径
  • StmxServiceImpl方法体:里面还残留一棵root.zhb的旧树,以及若干SJ1前缀的TODO注释

这意味着运营侧想换一个点位映射,开发得改常量→改业务方法→改前端→联调→发版。一次改动至少两三个人的工时,而炼铁端同一件事是一条SQL。

前后端双端硬编码:chart-config.ts和RealtimePointConst的同步噩梦

实时监控模块的点位定义同时存在于前端的chart-config.ts和后端的RealtimePointConst。两边没有共享数据源,全靠开发人肉同步。我对比了两份文件的字段名和path,至少有三处已经对不上——前端还在用旧的点位标识,后端已经换了,页面表现就是某条曲线偶发空白。

另外炼铁前端采用了"一炉座一后端实例"的架构,点位路径里嵌了炉座编号,多钢厂场景下同一张表要适配不同编号规则,复杂度进一步放大。

三条能带走的准则

复盘完六库,把设计建议压缩成三条,下次做多站点/多产线配置时可以直接当checklist用:

  1. 点位定义只允许出现在数据库里。任何Java常量类、TS配置文件里出现点位path,都视为技术债。参照bf_points_config的custom_code中间层,业务代码只认custom_code,path映射走配置表。
  2. unit_code等关键维度字段禁止静默兜底。兜底值写死等于把"1#"变成默认假设,多钢厂上线那一刻就是事故。要么抛异常,要么走显式配置,三处兜底逻辑必须收敛到一个公共方法。
  3. 前后端点位定义必须同源。要么共享一份JSON/数据库查询接口,要么至少写一个CI脚本diff两边字段集合,CI红了就不许合。人肉同步在第三处对不上的时候就已经晚了。

最后说一句交付物:完整的分析文档《点位配置现状分析与多钢厂产品化设计建议.md》已落到项目wiki。里面把170个硬编码点位按"炼铁/烧结/球团×实时/报表/告警"做了矩阵标注,每条标了迁移优先级。下次排产品化排期时,直接拿这张矩阵当拆解依据就行。


做自动化这几年,最耗时间的从来不是写代码,是摸清每个平台的脾气。

这篇里提到的坑,都是真金白银踩出来的。
如果你手上也有重复度很高的活儿——批量发布、数据搬运、有固定规则的机械操作
——可以在评论区说说你的场景,我看看能不能自动化掉。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 7:36:23

8个高效AI论文工具测评:继续教育必备

1. 项目概述作为一名经历过论文写作煎熬的过来人,我深知继续教育阶段查找优质文献的痛苦。经过3个月的实测体验,我筛选出8个真正能打的AI论文网站,这些工具不仅能帮你快速找到相关文献,还能智能分析、自动生成参考文献&#xff0c…

作者头像 李华
网站建设 2026/10/29 7:36:21

Skywalking分布式监控:安装配置与生产实践指南

1. 为什么选择Skywalking作为分布式监控方案在微服务架构成为主流的今天,一个服务请求往往需要跨越多个服务节点,传统的单体监控工具已经无法满足需求。我经历过多次凌晨三点被报警叫醒,却要花两小时才能定位到具体故障服务的痛苦&#xff0c…

作者头像 李华
网站建设 2026/10/29 7:35:40

智慧工地安全帽检测数据集构建与YOLOv8训练实践

1. 项目背景与数据集设计思路1.1 智慧工地安全巡检的痛点在哪里我做工地视觉监测这块有几年了,接触过不少施工现场的安环部门。传统安全巡检靠安全员拿着检查表去现场转,一天两三次,碰上高空作业、夜间施工、多作业面同时展开的节点&#xff…

作者头像 李华
网站建设 2026/10/29 7:35:40

STC8H驱动CS1237实现24位高精度ADC实战

简介:本资源是一套面向嵌入式初学者与中级开发者的CS1237高精度ADC模块实战测试工程,专为STC8H系列增强型51单片机(如STC8H8K64)定制,解决微弱模拟信号采集、多量程电压测量及工业级数据稳定性验证等核心问题。压缩包共…

作者头像 李华
网站建设 2026/10/29 7:34:56

会话存档+AI+MCP:私域智能化的完整链路

🧱 第 1 步:会话存档打地基,先把数据留在公司 做私域的都踩过这些坑:客户加了一堆,不知道谁重要;聊完就忘,跟进全凭感觉;员工离职,客户全被带走。根子只有一个——聊天记…

作者头像 李华
网站建设 2026/10/29 7:34:41

AI创作工具选型指南:从文本到视频的全方位评测

1. AI创作工具市场现状与选型逻辑当前AIGC工具市场呈现爆发式增长态势,根据2023年行业报告显示,全球范围内每月新增的AI创作工具超过200款。面对如此庞大的工具矩阵,创作者常陷入选择困境。经过三个月深度测试,我将从创作类型适配…

作者头像 李华