delphi - "One class per file"规则是否存在一些 Delphi 特定问题?

标签 delphi delphi-7

旧标题:建议每个单元有多少节课?

我的问题是针对 Delphi 的。我认为在 Java 和 C# 世界中,每个类通常有一个文件是一种相当可接受的做法。我认为这在 Delphi 中也是一个值得遵循的好规则,因为在 Delphi 中,如果一个单元中有多个类,则私有(private)成员并不是真正的私有(private)成员。

因此,当我听到两位不同的高级(可能比我更有经验)程序员告诉我我的代码划分太多时,我感到很惊讶。其中一位告诉我不要羞于将 5-6 个类(class)放在一个单元中。

“每个模块一个类”规则是否存在一些我不知道的问题,可以保证并解释这些程序员的 react ?

最佳答案

不知道你说的模块是什么意思。

Java 要求每个文件有一个公共(public)类,并且类名必须与文件名匹配。没有如果、并且或但是。您可以在该文件中包含其他包私有(private)或私有(private)方法,但只能有一个公共(public)类。

如果“模块”对您来说意味着“包”,那么我想说,一个包中包含多个类是很常见的。没有标准;查看 JDK 本身即可了解这一点。 java.utiljava.langjava.sqljavax.swing 中有许多类。

除了这两个,我不知道你或所谓的“高级程序员”指的是什么。我同意任何事情都可能过度,不应该盲目遵循教条规则。

但是分解是计算机科学 - 不,是解决问题 - 的基础。忽视它比过度使用它更常见。

关于delphi - "One class per file"规则是否存在一些 Delphi 特定问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11593034/

相关文章:

delphi - 当用键盘打开弹出窗口时,如何使 Tpopupmenu 预选第一个菜单项

Delphi 的 TreeView - 如何通过 AbsoluteIndex 选择/突出显示节点

delphi - VirtualStringTree - 使用对象时添加/处理子节点/子节点的正确方法?

multithreading - 线程化 Delphi ADO 查询

delphi - 在Delphi7中,如何检索硬盘唯一序列号?

string - 我应该使用 String 而不是 TFilename 吗?

Delphi - 检测 Int64 溢出错误

delphi - 有多少人滥用了您的 'with source' 购买选项?

javascript - 在 Delphi TWebBrowser 中按地址显示 Google map

delphi - Delphi执行命令行命令