我有 2 个类,玩家类和游戏类,以及一个名为 get_player_games($player_id) 的方法。该方法属于哪个类?
我似乎遇到了一点这个问题,我不是 100% 确定该方法应该进入哪个类。这只是一个偏好问题吗?
谢谢
最佳答案
这是一种典型的交叉引用情况——完全客观地说,它可以属于任一类。这确实是一个偏好问题,假设一个玩家可以拥有多个游戏并且一个游戏可以与多个玩家相关联。
就是说,我总是从您首先倾向于命名该方法的方式来哲学地处理它——get_player_games() 听起来您对特定玩家的游戏很感兴趣。玩家是感兴趣的主题(基于方法名称的有限英文语法),游戏恰好是与之相关的细节。如果您说的是 get_game_players() 或 get_games_for_player(),那么我会说游戏是感兴趣的主题,而不是玩家。
显然,我对你首先选择的名词有偏见(同样,从有偏见的英语语法的角度来看),但由于你可以争辩说该方法属于任一类,因此它是在此类中使用的唯一可能基础一件事。
同样,这有点武断,但我一直倾向于遵循方法命名修辞向我暗示它属于哪个类的内容。
关于oop - 方法去哪个类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772622/