在编写代码时,何时停止抽象并开始编写合理的代码?有许多“企业代码”的例子,比如数十个文件的“FizzBuzz”程序...即使像实时战略游戏这样简单的东西也可能会有:
class Player {} ;/// contains Weapons
class Weapons{} ;/// contains BulletTypes
class BulletType{} ;///contains descriptions of Bullets
class Bullet{} ;///extends PlaceableObject and RenderableObject which can be placed/drawn respectively
class PlaceableObject{} ;///has x,y,z, coords
class RenderableObject{} ;///an object with a draw() command
class MovingObject{}; ///an object with a move() function
等等...这可能会变成一场噩梦。这可以被推到其逻辑极端,就像函数式编程可以被推到只有变量、函数应用和匿名函数定义的语言的极端(虽然我必须承认这稍微更优雅一些)...
对于这个话题有什么明智的建议吗?