代码异味 283 - 未解析的元标记

TL;DR:不完整或空的元标签会破坏功能和用户体验。

问题

  • 标签出现在输出中
  • 电子邮件文本包含人类可读文本之间的占位符
  • 错过占位符会让用户感到困惑
  • 网站呈现奇怪的字符
  • 空值触发错误
  • 潜在的安全注入漏洞
  • 解决方案

  • 验证元标记
  • 尽早确认完整性
  • 快速失败
  • 避免使用空值
  • 抛出有意义的异常
  • 自动进行元验证
  • 语境

    如果您未完成元标记(例如“{user_name}”或“{product_name}”),它们通常会潜入您的最终输出中。想象一下发送一封电子邮件,内容是“您好,{user_name},您的 {product_name} 订单已准备好。”

    这表明它非常不专业,并且会让用户感到困惑。

    空值会导致崩溃或无声故障,从而使情况变得更糟,从而导致糟糕的用户体验或中断的流程。

    您可以通过在渲染或发送之前断言完整性来避免这种情况。

    当您的代码发现不完整的元标记或空值时,立即停止该过程并抛出异常。

    示例代码

    错误的

    正确的

    检测

    [X] 自动

    您可以使用自动测试或扫描未完成的占位符({} 或类似模式)的 linters 来检测这种气味。

    标签

  • 快速失败
  • 等级

    [X] 初学者

    为什么双射很重要

    在使用占位符表示用户数据时,您的系统必须保持一对一映射。

    如果您的 {user_name} 占位符存在但缺少相应的真实姓名,则会破坏此映射。

    这会导致错误、混乱以及对应用程序的信任丧失。

    确保双射合规性可避免这些问题。

    人工智能的产生

    人工智能工具有时会在使用占位符生成模板但无法替换真实数据时引入这种气味。

    在使用输出之前,您必须验证并完成所有占位符。

    人工智能检测

    如果您正确配置,诸如 linters 或电子邮件呈现验证器之类的 AI 工具可以检测未完成的元标记。

    使用这些工具可以自动化元标签检测并减少人为错误。

    尝试一下!

    ChatGPTChatGPT克劳德克劳德困惑困惑副驾驶副驾驶双子座双子座

    结论

    不完整的元标记不仅不整洁,而且有害。验证标记、断言完整性并在必要时抛出异常。

    小心处理元标签可避免错误并确保专业的体验。

    关系

    代码异味 12 - Null Maxi Contieri ・ 20 年 10 月 31 日 #codenewbie #tutorial #oop代码异味 139 - 用户界面中的业务代码 Maxi Contieri ・ 22 年 6 月 9 日 #oop #webdev #javascript #beginners代码异味 97 - 没有同理心的错误消息 Maxi Contieri ・ 21 年 10 月 27 日 #opensource #ux #programming #javascript

    更多信息

    快速失败 Maxi Contieri ・ 2020 年 12 月 6 日 #codenewbie #programming #webdev #oopNull:十亿美元的错误 Maxi Contieri ・ 20 年 11 月 18 日 #codenewbie #tutorial #programming #webdev

    免责声明

    我认为“代码异味”是这样的。

    致谢

    照片由 Tomas Martinez 在 Unsplash 拍摄

    最好的错误信息是永远不会出现的错误信息。

    软件工程名言 Maxi Contieri ・ 20 年 12 月 28 日 #codenewbie #programming #quotes #software

    本文是 CodeSmell 系列的一部分。

    如何找到代码中的臭味部分 Maxi Contieri ・ 21 年 5 月 21 日 #codenewbie #tutorial #codequality #beginners