加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.shangpinjie.com.cn/)- 应用程序、AI行业应用、CDN、低代码、区块链!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

无障碍编程:变量命名中的视障友好之道

发布时间:2026-10-20 15:58:26 所属栏目:语言 来源:DaWei
导读:  去年五月份那单甲方,现在想起来还手抖——凌晨三点发来需求文档,说“就改一点点”,结果变量命名全要搞视障友好。我原以为最多加个拼音缩写,结果对方甩过来三份无障碍设计规范,说“你们边缘节点运维的代码也得符合WCAG

  去年五月份那单甲方,现在想起来还手抖——凌晨三点发来需求文档,说“就改一点点”,结果变量命名全要搞视障友好。我原以为最多加个拼音缩写,结果对方甩过来三份无障碍设计规范,说“你们边缘节点运维的代码也得符合WCAG2.1标准”。

  那会儿我刚把边缘集群的监控告警阈值调完,手机突然震动,甲方技术总监在群里发了个60秒语音方阵:“我们调研了,视障开发者读代码主要靠屏幕阅读器,变量名得有语义、别用缩写、别用下划线、别用数字后缀……”我点开第一条语音,他正说到“比如userInfo比usrInf好”,我盯着屏幕上的“usrInf”变量名,突然想起上周刚给这变量加过注释——现在注释得全改,因为屏幕阅读器会连注释一起念。

  最绝的是验收环节。他们找了个视障工程师远程测试,那哥们开着NVDA,代码读到一半突然停住:“这个‘tmp_data’是什么?‘tmp’是临时,但‘data’太笼统,得改成‘temp_user_data’或者‘temp_sensor_data’。”我盯着屏幕上的“tmp_data”,这变量在边缘节点里存的是传感器临时数据,但按规范确实该写全。改完重新部署,那哥们又卡在“idx”上:“索引变量得写‘index’,别用缩写。”我查了规范,WCAG2.1里明确写着“缩写需在首次出现时提供完整解释”,但变量名里没法加注释,只能全改。

  那单最后拖了半个月,不是因为技术难,是变量名改起来比重构还麻烦。边缘节点的代码本来追求精简,变量名能短就短,现在全得写全称——比如“msg”要改成“message”,“cnt”要改成“count”,“flg”要改成“flag”。最夸张的是循环变量,以前用“i”“j”“k”,现在得用“index_row”“index_col”“index_layer”,代码行数直接涨了百分之二十。

  但甲方乐意啊。他们说“视障友好是社会责任”,还说“这能提升代码可维护性”。我后来才明白,这哪是社会责任,这是给后续二开留伏笔——上次验收完三个月,他们又找来说“要加个新功能,变量名得继续按规范来”,尾款都没结就敢提新需求。我原以为他们只是心血来潮,结果查了下,他们公司去年拿了政府的无障碍改造补贴,这单算是“政治正确”的投名状。

  跟产品经理吵过一架。他说“变量名改这么长,边缘节点的内存不够用”,我拍桌子说“内存不够可以优化,但规范得守”。结果测试组发来数据:改完变量名后,代码可读性评分涨了三十分,视障工程师的调试效率提高了百分之四十。产品经理不说话了,转头去找财务申请服务器扩容预算——这单的尾款,最后是跟着扩容预算一起结的。

文章配图,仅供参考

  现在回头看,这“就改一点点”的需求,其实是甲方在试探底线。他们先提个视障友好的小要求,等我们改完,再提“代码注释也得无障碍”“日志格式得适配屏幕阅读器”“API文档得加语音描述”——每次都说“就改一点点”,每次都能多要半个月工期。我敢打包票,这单的二开需求里,至少有一半是“无障碍优化”的变种。

  上周甲方又发来消息:“在吗?我们想在边缘节点里加个语音交互模块,变量名得继续按视障友好规范来。”我盯着屏幕上的“在吗”,没急着回——这单的源码还没交付,他们就已经在盘算下一单了。我打开变量命名规范文档,把“缩写禁用”那条标红,心想:下次得在合同里加条款,变量名改动的工时得单独算钱,不然这“就改一点点”,能改到明年去。

  对了,那视障工程师后来加了微信,说“你们代码改得比很多大厂还规范”。我回了个笑脸,没告诉他这规范是甲方逼的——要是他知道我们为了改变量名,连边缘集群的监控脚本都重写了,估计得笑出声。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章