命名事情很难。在命名我的类,变量和方法时,我努力避免与我的语言(MSSQL,VB.NET或C#,HTML,CSS,jQuery)和框架(.NET)中的保留字或关键字发生冲突。
我经常犯错误,直到现在为时已晚,无法轻易重新命名。
场景:(1)首先创建一个数据库模式,然后(2)实现一个表或列名称不是C#/ .NET对象的好选择。
您使用什么技术?
答案 0 :(得分:14)
一个体面的IDE ......
答案 1 :(得分:6)
如果您使用的是 Visual Studio 或 SQL Server Management Studio ,那么他们会突出显示不同颜色的保留关键字。
如果您确实需要,某些语言有使用保留关键字的特殊语法,尽管不是真的建议使用。例如,在C#中,您可以使用 at sign 作为前缀,例如
var @class = "Hello";
或者在SQL Server中,您可以使用方括号:
SELECT [where] from Locations;
答案 2 :(得分:3)
几乎任何编辑器和IDE都会自动突出显示适当的(与其他符号形成对比)颜色的关键字,只要它能够识别您正在编辑的代码的语言语法。
如果您无法使用此技术,就像在过去一样,您最好的选择是记住所有关键字,并随身携带备忘单。但是,真的,你的编辑应该这样做。
答案 3 :(得分:2)
即使在较大的项目中,我也从未遇到过这个问题。我遵循标准约定,例如为变量名称添加其类型前缀。我还使用命名空间来确保我得到我想要的确切对象/方法。说实话,我没有看到命名不保留的东西的困难所在。
答案 4 :(得分:2)
我真的很少遇到与关键字发生冲突的问题:如果你列出一个列表List,那么,你应该被它咬掉,因为你应该使用一个更有意义的变量名...
当然,如果你正在构建一个编译器并且你实际上需要一个Class
类,那么这一点就没有用了......但这种情况很少发生。
在几乎所有其他情况下,当List list
或List items
有意义时,List tokens
都没有意义。
答案 5 :(得分:1)
更清晰。
C#示例
类
的CssClass
SQL Server示例
更新
PerformUpdate
答案 6 :(得分:1)
IDE可以提供帮助。
一种好方法就是学习您正在使用的语言的语法。通常,您可以找到这些语言的保留关键字列表。
定期测试JavaScript等动态语言会很快暴露关键字问题。 (因为我还没有使用javascript来运行eclipse)。
答案 7 :(得分:1)
使用结构化编程!
这意味着不同范围内的变量应该只存在,并且只与该范围相关。如果要使用全局变量,请明确执行此操作。
如果程序的某些区域无法分割成函数,则将区域划分为类。这样,AreaX-> ID不会与AreaY-> ID发生冲突。课程也可以绕过一些保留字。
对于一些保留字,您只需要尝试避免使用通用名称。我知道$ HOME在PHP中特别危险。