抽象类应该总是以Abstract
作为前缀,后缀为Interface
(当它是一个接口时)?是否有任何标准的命名约定,类似于文件夹结构/命名空间的PSR-0,但是对于类?关于抽象类和接口的PHP命名约定
10
A
回答
9
对此没有约定;特别是在PHP中。不管你愿意,这都可以组织起来。
在PHP 5.3中增加了namespaces,我不认为需要在实际的类名称中添加Abstract
或Interface
前缀/后缀。
只是因为它们的名字!
8
虽然没有任何约定,但我认为对各个组件使用Abstract
前缀和Interface
后缀是一种很好的做法。 IMO有助于更好地理解代码。
1
约定就是你所看到的:语言本身不强制任何约定,除非那些使解析器能够读取你的代码的约定。基本上,您应该为您的项目设置自己的约定,或者更好地为所有项目设置约定。然而,在不同人的团队中工作可能会导致不遵循约定,这实际上取决于程序员。
根据我的经验,我会建议遵循“按合同设计”之类的内容。为你的实现类命名你的契约(接口),然后为你的实现指定一个更具体的名字(或者回退到MyContractNameImpl,我主要从Java中知道)。此外,许多现代IDE都知道你的类是一个接口还是抽象的,所以真的不需要把它放在它的名字中。同样的原因,我还发现名为“IMyContract”的合同不太好。
1
命名的抽象类和接口的使用:
- 摘要*
- *接口
将让你的代码库干净,美观,明显给您的团队有什么原型,是什么是合同,具体实施是什么。
命名约定在这里可以提高我们在任何情况下的生产力,所以“按你喜欢的名字”远非好主意。
尽管FIG组并未提出抽象类和接口的命名约定 - 如果您检查主要的开源PHP项目,您会发现几乎所有这些项目都使用此约定。
相关问题
- 1. 接口和抽象类的描述性命名约定
- 2. 接口和抽象类的Python命名约定?
- 3. 抽象类命名约定
- 4. Java接口,抽象类和枚举命名约定
- 5. 抽象类的命名约定?
- 6. 命名的PHP 5.3接口/抽象类(使用命名空间)
- 7. PHP抽象类和接口
- 8. 接口命名约定Golang
- 9. PHP,OOP接口和抽象
- 10. 抽象方法签名,继承和“做”的命名约定
- 11. 与接口和抽象类
- 12. C#接口和抽象类
- 13. 抽象类和接口
- 14. 纯抽象类和接口
- 15. 在TypeScript中命名抽象类和接口
- 16. PHP类接口和错误有关抽象方法
- 17. 接口类型的代码合同类的命名约定
- 18. 关于C++命名约定的问题
- 19. 接口和抽象
- 20. 抽象类,类,接口
- 21. PHP使用抽象类或接口?
- 22. 命名约定非虚拟和抽象方法
- 23. 与抽象类的接口
- 24. 接口中的抽象类?
- 25. Java:接口和抽象类的实现
- 26. Java接口和抽象类的问题
- 27. 在接口和抽象类的Java
- 28. 抽象类和接口的Java
- 29. 类型参数的约束:接口与抽象类
- 30. PHP命名约定?
值得指出的是,如果你想遵守法律规定的PSR,它规定你必须包含'Interface'作为接口的足够。 http://www.php-fig.org/bylaws/psr-naming-conventions/ – wired00