可能重复:
Anyone else find naming classes and methods one of the most difficult part in programming?
What’s the best approach to naming classes?
找到合适的抽象名称有时可能非常耗时,尤其是如果您的母语不是英语。我想知道是否存在某种描述程序相关概念的在线词汇表/词典。我们都知道GoF的设计模式,但我正在寻找一个更完整的词典,包括概念之间的关系。
由于
答案 0 :(得分:1)
您知道是在程序中命名工件的约定吗?
例如,Java已经提出了一种非常强大且可靠的命名类,方法和属性的方法。
维基百科有关于命名约定的说法(不太有帮助,但仍然很有趣)http://en.wikipedia.org/wiki/Naming_convention_(programming)
这是中央华盛顿大学的一个页面(使用Java,但对其他编程语言仍有帮助):http://www.cwu.edu/~gellenbe/javastyle/naming.html
其他文章:http://drupal.star.bnl.gov/STAR/comp/sofi/soft-n-libs/standards/NamingAdvice
但基本上,命名方法通常以动作开始,然后是名词等。
例如:
$obj.addObservers(...); // action, noun
$obj.setPrice(); // action, noun
$obj.getModelFromDb(); // action, noun, preposition, noun
$obj.setActive(...); // action, noun
$obj.isActive(); // yes (true) or no (false) statement
$obj.canEdit(); // yes (true) or no (false) statement
$obj.setCanEdit(); // action, attribute
// etc.
避免使用否定方法命名,例如:$obj.cannotConnect();
这会让每个人感到困惑。 (提示时也是如此,例如:“你即将删除这个文件,你想要中止吗?”......选择“不”,认为你要删除一个文件而这是一个错误会做相反的事情...)
返回方法命名;
doActionBatch()
,其中'ActionBatch'是要执行的实际操作的名称;例如:doHttpConnect()
我建议的一个提示是阅读社区编写的程序;他们通常采用命名约定的最佳实践,您将更熟悉“如何命名方法”
答案 1 :(得分:0)
最重要的是,与您的命名约定保持一致。
我是.NET开发人员,所以我发现最好遵循.NET Framework使用的设计指南。