zoukankan      html  css  js  c++  java
  • 一点编程风格

    1. 不要直接写下毫无意义的数字,用#define或者const来代替。

    2.类成员函数的命名方式,PME构想。

    PME构想是当今最流行的软件工程模型。PME是属性,方法,事件的缩写。也即:property, methord, event.

    属性一般情况下表现形态为变量。

    方法一般情况下表现形态为函数。

    主动事件,一般情况下的表现形态为回呼函数,全部以On为前缀。

    被动事件,一般情况下表现形态为虚拟函数,全部以Proc为前缀。

    主动事件是指这个对象可能会引起的事件,这些事件一般由开发者指定处理函数。

    被动事件是指这个对象可能要处理的事件,这些事件函数就是在对象中已经定义的函数,将有对象的上一级来调用。

    例如:

    class NPC

    {

    public:

      void (*OnPlayerChat) (CPlayer* player, const std::string& talk);

      void (*OnPlayerAttack) (CPlayer* player, Attack* attack);

    private:

    std::string name_;

      int hp_; 

    }

    #include 的路径及顺序

    使用标准的头文件包含顺序可增强可读性, 避免隐藏依赖: C 库, C++ 库, 其他库的 .h, 本项目内的 .h.

    项目内头文件应按照项目源代码目录树结构排列, 避免使用 UNIX 特殊的快捷目录 . (当前目录) 或 .. (上级目录). 例如, google-awesome-project/src/base/logging.h 应该按如下方式包含:
    #include “base/logging.h”
    又如, dir/foo.cc 的主要作用是实现或测试 dir2/foo2.h 的功能, foo.cc 中包含头文件的次序如下:
    1. dir2/foo2.h (优先位置, 详情如下)
    2. C 系统文件
    3. C++ 系统文件
    4. 其他库的 .h 文件
    5. 本项目内 .h 文件

    这种排序方式可有效减少隐藏依赖.

  • 相关阅读:
    poj 1237 The Postal Worker Rings Once // hoj 1164 The Postal Worker Rings Once
    poj3096Surprising Strings
    Telnet服务的配置2(转)
    浅谈以太网帧格式(转)
    QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法(转)
    CString,int,string,char*之间的转换(转)
    sprintf(转)
    CString类(转)
    Linux下telnet服务的配置(转)
    grub删除后的windows恢复(转)
  • 原文地址:https://www.cnblogs.com/kex1n/p/2005536.html
Copyright © 2011-2022 走看看