我最近使用 Swagger-Codegen 自动生成一个 Ruby gem,除了为每个单独的 API 端点生成一个文件外,它还为 API 可能返回的每个可能的数据集合生成了数十个模型文件。
API 方法文件和模型都以声明相同的模块名称开始SwaggerClient
,然后包含文件的类,这也是文件的名称,除了骆驼情况:
module SwaggerClient
class GetWalletsForbidden
...
end
end
据我了解,您可以在技术上将所有这些组合到一个文件中,在开头声明一次模块并将类放置在其中。
当我查看顶级 gem 文件swagger_client.rb
时,似乎更奇怪:一行一行的require
:
...
require swagger_client/api/assets.api
require swagger_client/api/bookmarks.api
require swagger_client/api/calendar.api
...
我知道,尤其是在使用 Rails 时,自动生成的使用非常多,但这对我来说似乎太过分了。
将这么多小片段保存在单独的文件中有什么好处?仅仅是为了组织利益吗?我知道 Rails 在幕后做了很多复杂的事情……它与此有关吗?它会提高性能吗?或者我只是对什么构成“过度”有错误的想法require
?