我工作的团队有多个项目,一些项目使用Java,一些项目使用PHP,甚至使用Python。
关于类别名的讨论。
有人引用Clean代码中有关免费上下文的内容,并说名称空间足以分隔类。
示例:
对于MVC,您有一个控制器,一个存储库和一个服务,并具有以下结构:
在Java中,我将为4个类创建:
在PHP中,我的同事认为他们都应该被命名 在同一上下文中使用 User.php 和类别名来区分它们。
我看过了,大多数语言的确提供了某种形式的别名:
据我了解,类/命名空间别名用于缩短类名或防止与其他库冲突。
我是否曾经被Java洗脑过以这种方式进行编码,或者是一种不好的做法,导致难以阅读代码?
答案 0 :(得分:1)
将类命名为Controller
或Service
是大多数Java开发人员都遵循的Java约定。这是我们为了保证代码的良好维护和可读性所遵循的众多约定之一。没有人会因为在不同的程序包中具有相同的类名而停止任何人。但是,如果您问我,这肯定会降低像我这样的人的可读性,而且我们不会因此而结交任何朋友。
就像在Java类的class/variable
中给camelcase
命名一样。这是大多数Java程序都采用的编码约定。当您习惯使用给定的标准时,它使阅读代码变得更加容易,但您不必遵循它。这是我们做出的选择
答案 1 :(得分:1)
您应该正确命名课程。
仅此而已。
命名一切用户没有任何意义,只是遵循一些(对我而言)Active Record定义不正确的命名约定。
但是,这个主题非常复杂,特别是因为它与人们对OOP的看法有关。而且由于PHP的限制远不如Java(编译,仅类,硬类型,只有一个入口点(即使这是更多的apache事情))限制并且需要的学习较少,因此不了解PHP的人更多地实践了Php。 SOLID原则或一般软件质量原则的内容。 (DRY,重构,正确命名类和变量...)