Need inspiration for naming classes and methods
Possible Duplicates:
Anyone else find naming classes and methods one of the most difficult part in programming?
What’s the best approach to naming classes?
找到合适的抽象名称有时会很费时,特别是如果你的母语不是英语。我想知道是否存在某种描述程序相关概念的在线词汇表/字典。我们都知道gof的设计模式,但我正在寻找一个更完整的词汇,包括概念之间的关系。
谢谢
你知道程序中有命名工件的约定吗?
例如,Java已经提出了一种非常强大和可靠的命名类、方法和属性的方法。
维基百科对命名约定(不是太有帮助,但仍然很有趣)有这样的说法:http://en.wikipedia.org/wiki/naming_convention_u(编程)
这里是中央华盛顿大学的一个页面(用Java,但对其他编程语言仍然有帮助):http://www. cuu.Edu/~ GeleNbE/javaSyth/NAMIGN.HTML
其他文章:http://drupal.star.bnl.gov/star/comp/sofi/soft-n-libs/standards/namingadvice
但基本上,命名方法通常从一个动作开始,然后是一个名词等。
例如:
1 2 3 4 5 6 7 8 | $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. |
避免使用否定的方法命名,例如:
返回方法命名;
- 方法名应尽可能短,但应避免使用缩写词,除非方法名太长(此处为判断调用);
- 方法应该是自我解释和自我记录的;
- 避免使用前缀,除非您使用的是非OOP语言(现在很少使用)。前缀应该是类或名称空间等。
- 如果方法做了不止一件事,那么每个方法应该只有一个函数(一个目的),考虑将该方法拆分为多个函数,并在一个方法(如
doActionBatch() ,其中"actionbatch"是要执行的实际操作的名称;例如:doHttpConnect() 。 - 等。
我可能建议您阅读社区编写的程序;它们通常在命名约定中采用最佳实践,您将更加熟悉"如何命名方法"。
最重要的是,要遵守你的命名规则。
我是.NET开发人员,所以我发现最好遵循.NET框架使用的设计准则。
http://msdn.microsoft.com/en-us/library/ms229042.aspx