rails社区命名连接模型的命名约定有哪些优点?

时间:2013-03-12 21:57:23

标签: ruby-on-rails ruby activerecord naming-conventions jointable

this Railscast中,Ryan Bates提到在命名连接模型时使用结束in -tion,-ment或-ship的单词是一个很好的约定。这个惯例有什么好处?

例如,如果我有两个分别称为“专辑”和“歌曲”的模型,其中一首歌可以出现在很多专辑中,一张专辑有很多歌曲怎么办?为此所需的连接表有什么好名字? Tracklistingship? Tracklistings?

2 个答案:

答案 0 :(得分:2)

惯例是将它命名为有意义的东西。

这些关系通常以这些结局结束。关键是遵循 a 约定并保持一致,不一定所有内容都适合整齐地放入相同的三个结尾。

对我而言,它听起来像TracksAlbumTracks等。如果你想按照他的想法来构建一个单词,可能是TrackationTrackination(过程把曲目放在专辑上,Albumship(如“会员资格”,但有专辑歌曲等)

另请注意,希望您没有名为AlbumsSongs的模型,而是AlbumSong。 IMO最清晰的关系只是AlbumSongs,因为这正是它的本质。

您可以完全使用不同的路线并将其称为Mixes

答案 1 :(得分:0)

使用一致命名约定的另一个好处是,您很可能不会成为唯一一个使用代码的人。通过使用一致的命名约定,处理代码的其他人可以更轻松地处理代码。您可能还会发现维护起来更容易,因为您可能会在6个月内触摸代码并且有一天会回复它。通过一致的命名约定,您将能够理解您正在做的事情,而无需阅读所有代码。