我正在考虑在自定义框架的命名空间中使用带有变音标记的字符(例如 ō)。这个想法是作为区分产品的一种方式而提出的,但我想确定这不是一个坏主意,如果有什么关于它的事情,稍后会回来咬我。我在搜索中没有看到使用特殊字符的名称空间的其他示例,也没有看到有关此主题的任何类似讨论,这让我在继续这条道路上犹豫不决。
我最初也考虑用变音符号来命名程序集,但我遇到的第一个阻碍是尝试对程序集进行数字签名。我无法让特殊字符出现在命令提示符中,因此出现“无有效输入”错误。也许还有另一种解决方法?
我意识到的一个问题是,它使得在 Visual Studio 中键入命名空间变得更具挑战性。然而,我并不认为这是一个主要问题,因为该字符将接近我正在使用的单词的末尾,该单词将相当独特,并且使用 IntelliSense 这应该不是什么大问题。
考虑以下示例,包含在程序集 Macron.dll 中:
namespace Macrōn.Library
{
public class MyLibrary
{
public string MyProperty { get; set; }
}
}
生成和使用此 Macron.dll 似乎没有问题,并且区分此示例 Macron.Library 命名空间也没有问题。文件、文件夹、项目和解决方案名称 Macron 似乎不会引起任何问题,并且一切似乎都与源代码控制一致,没有任何问题。
在程序集和命名空间中使用变音标记时,我还缺少其他注意事项或事情吗?关于解决我签署大会的问题有什么想法吗?这种方法一定会失败吗?它真的不值得实施吗,因为它可能会令人困惑或难以使用/晦涩难懂?
这将变成很多工作需要稍后撤销,所以我想知道在我陷入困境之前我是否在搬起石头砸自己的脚。
Thanks.
我想确定这不是一个坏主意,如果有任何关于它的事情稍后会回来咬我。
这是有效的。许多混淆器将名称空间/类型更改为具有 unicode 字符,其中一些甚至是不可打印的,以使逆向工程变得更加困难。
话虽这么说,如果这是一个其他人会使用的公共框架,我会阻止它。这将迫使任何使用命名空间的人将其源文件保存为 Unicode / UTF8,如果他们不这样做,那么 ō 字符可能会被替换为?
。然后它就不再编译了。
阿列克谢也发表了非常好的评论。除了复制和粘贴之外,我不知道如何输入 ō 字符。那肯定会减慢我的速度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)