当前位置: 首页 > 面试题库 >

同一项目在不同文件夹中的相同软件包名称

汤飞翮
2023-03-14
问题内容

我正在做一个大项目,该项目很可能最终包含成千上万行代码,对于当前结构,我喜欢这样:

main.go
controllers/NAME.go
models/NAME.go

这样做的问题是controllers和models目录包含很多文件,全部使用package controllerspackage models。因此,我正在考虑将其拆分为:

main.go
controllers/user/NAME.go
models/user/NAME.go

凡在控制器包的用户文件中可能包含的文件routes.goprofile.go等等。

现在,我读到像controllersUser或那样的软件包是不好的做法controllers_user,但是我担心对这两个软件包进行命名可能不是一个好主意,package user因为它们是同一项目的一部分(即使它们位于不同的目录中)。

根据我的情况,您会建议使用哪种命名结构?

我认识到,位于控制器/用户的文件将无法与模型/用户交互甚至通过它们共享相同的package user名称(除非我导入课程的),我也知道,我可以轻松导入这两个为userControllers "controllers/user"userModels "models/user",但我想知道这样做是不好的做法吗?


问题答案:

我建议您阅读Go软件包的样式指南。这是一篇很棒的文章,其中包含有关Go中项目布局的最佳建议。我很难建议您为您的特定情况命名,因为它在很大程度上取决于系统所具有的功能。有时,我将其视为“应用程序每个部分的打包”。但我知道我的描述可能会导致过于个人化,并且不会带来太大帮助。



 类似资料:
  • 问题内容: 我正在尝试仅将原始文件从一个目录复制到另一个目录,但是某些文件具有相同的名称…我正在尝试使用哈希来比较文件,如果其不在目录中发送并且名称相同,它到file_name.something。目前,我正在获取一些文件,并且具有相同名称的文件正在被覆盖…任何人都可以提出建议吗? 问题答案: 您将哈希与文件名进行比较。你需要类似的东西 计算目标文件夹中每个文件的哈希值。 此外,在当前版本中,您的

  • 我有两个类,它们具有相同的类名并使用相同的包名。但是,这两个类文件位于不同的目录中。这两个类之间的另一个不同之处是,每个类中都有其他类中没有的方法。本质上,我想将这些方法拆分为两个使用相同名称但不同文件夹的单独文件。 理论上,我认为这是可能的,因为Java编译器在构建输出时确实维护了目录结构。所以在运行时,如果在类中调用了一个方法,Java可能会在任何一个文件中找到该方法。 这可能吗?我使用的是I

  • 问题内容: 我在用Maven或Eclipse编译一些Scala时遇到问题,我尝试从Java jar导入一个包含名称空间和同名类的类。 我可以用编译。 例如,Java项目(jar)包含: 编译器抱怨: 在Scala 2.9.0.1(和)中使用Maven 3.0.03 / Eclipse 3.7.1 。 我遇到问题的jar是-它肯定包含几个实例,其中存在同名的名称空间和对象。 我正在尝试在Scala中

  • 我在利用MagickNET和C#控制台。下面的代码找到所有的文件,然后将其转换为。 现在,我想把.eps和.jpg分开。例如: 文件夹内容: 图1.每股收益 在执行循环之后。文件夹的内容将是: image1.eps image2.eps image1.jpg image2.jpg 我将如何放置. jpg在不同的文件夹?

  • 每天早上,一个文件夹得到相同的命名zip文件传输到它。我目前有一个脚本,将检查非压缩文件,如果他们存在,一个归档文件夹被创建,他们被移动到那里。然后解压缩zip文件,然后删除zip文件。 一个新的条件出现了,1文件将不会每天传输,但它将每周传输(一周中的随机一天),并且关联的非压缩文件必须保留在文件夹中,直到该压缩文件传输进来。 第二个语句检查zip文件,如果存在,它将解压缩每个zip文件,然后删

  • 我正在我的应用程序中创建不同的文件夹。而是属于同一类别的一些设备。但屏幕大小不同。但我看到这里根据设备密度给出字体大小,@pankajsharma提供的答案建议创建文件夹- 我想知道我的方法和另一种方法有什么区别?我认为@pankajsharma提供的答案很容易。我也想知道哪种方式更好?