擅长:python、mysql、java
<p>这主要是个人决定。你的大多数选择没有技术上的负面影响。例如:</p>
<ol>
<li>他们可以,因为使用的地方,但这不是必要的。在</li>
<li>他们可以,因为数据的位置,但同样。。。在</li>
<li>他们可以,尽管这个看起来会让事情变得更混乱。在生成实用程序类时,您可能最终不得不继承它们,或者将部件虚拟化以便稍后重写,这将很快变得难看。在</li>
<li>这是我个人的最爱,或者是它的变体。在</li>
</ol>
<p>我通常会创建一个相关命名的util文件(或具有静态方法的类),并将其放在与其所使用的类相同的命名空间中(mutilate的更有用版本)。对于<code>Education::Teacher</code>类,可以有一个<code>Education::TeacherUtils</code>文件或类,其中包含对<code>Teacher</code>操作的函数。这保持了一个非常明显的命名绑定,但也将util函数放在它们自己的区域中,因此可以根据需要将它们包括在内(在<code>Teacher.cpp</code>或类似的函数中可以避免这一点)。在类的情况下,您可以将util和基类交为朋友,这偶尔会有所帮助(但很少使用,因为这可能是一种气味)。在</p>
<p>我见过一个命名变体<code>Education::Utils::Teacher</code>,但是这有点难以翻译成文件(除非你把东西放进<code>utils</code>目录中),而且还可能导致名称解析的奇怪(在某些上下文中,编译器可能会尝试使用<code>Education::Utils::Teacher</code>而不是{<cd1>},而不是{<cd1>})。因此,我更喜欢保留<code>utils</code>作为后缀。在</p>