title: Programming style from "Game Coding Complete"
body: <p>I have recently read Mike McShaffry's <a href="https://rads.stackoverflow.com/amzn/click/com/1584506806" rel="nofollow noreferrer" rel="nofollow noreferrer">Game Coding Complete</a> and noticed the code style I haven't seen elsewhere yet. The more important things I noticed were the names of base classes defining interfaces starting with an I like <code>IActor</code>, protected member variables' names starting with m_ like <code>m_Type</code> and names of virtual methods like <code>VSetId()</code>. To show a bigger, more readable example:</p>
  
  <pre><code>class BaseActor : public IActor 
  { 
      friend class BaseGameLogic;
  protected: ActorId m_id; 
      Mat4×4 m_Mat; 
      int m_Type; 
      shared_ptr &lt;ActorParams&gt; m_Params; 
      virtual void VSetID(ActorId id) { m_id = id; } 
      virtual void VSetMat(const Mat4×4 &amp;newMat) { m_Mat = newMat; } 
  public: 
      BaseActor(Mat4×4 mat, int type, shared_ptr&lt;ActorParams&gt; params) 
          { m_Mat=mat; m_Type=type; m_Params=params; } 
      /* more code here */
  };
  </code></pre>
  
  <p>I pretty much like this style: it seems justified and looks like it helps increase the overall readability of the code. <strong>The question is:</strong> Is it a more-or-less established standard? Is there any more to it than the things I mentioned?</p>