【问题标题】:Does logging a string information fall under magic strings?记录字符串信息是否属于魔术字符串?
【发布时间】:2019-05-31 04:16:41
【问题描述】:

我想知道一个基本的事情。

_logger.LogInformation("Hi, Am I magic string?");

在上面的行中,字符串是否属于魔术字符串?

对我来说,任何针对响应/返回的硬编码验证/操作都被视为“魔术字符串”。 (例如:_config["EmailTo"] 应该是 _config.EmailToif(list.contains("error")) 应该是 if(list.contains(errorValue))

欣赏你的想法!

【问题讨论】:

  • No.. 下一个问题?
  • 在计算机编程中,魔术字符串是程序员认为永远不会来自外部并激活其他隐藏功能的输入。
  • @TheGeneral 他的意思是“魔术”,就像“魔术数字”一样。
  • 日志条目永远不会被视为魔术字符串,它没有程序重要性,它唯一的静态性质是供开发人员使用的文本
  • Magic 的东西是 magic 因为它不是描述性的和随意的。这样一个有问题的字符串是描述性的,不会影响代码流,也不会混淆你的朋友,“不是魔法。

标签: c# magic-string


【解决方案1】:

当观众期待一件事但看到另一件事时,魔术就存在了。

如果有任何系统读取日志文件并尝试解释它然后采取一些行动,那么这个字符串就变成了一个契约/魔法,因为改变它会混淆那个系统。

一个好的经验法则是永远不要解析日志,除非有明确定义和保护的日志标准。在我的观点和经验中,解析字符串不是其中之一。错误编号更好/更安全。

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多