转载

御用文件 IO 命名规范

我琢磨了一会该怎么命名文件 IO 上相关的对象,想好后,御用文件 IO 命名规范如下:

  • file 指被 任意现代常规文件 IO 函数 (比如C的 fopen() , C++ 的 ifstream() 和 Python 的 open() 等)打开的文件对象名,被打开的文件可以是文本文件或二进制文件。
  • 用非常规文件 IO 函数打开文件时,一般用返回值的类型名来命名。 比如: fd 指被 POSIX 底层文件 IO(比如C的 open() 和 Python 的 os.open() 等)打开的文件描述符对象名;举一反三,可以用 image 命名 OpenCV 的 cv::imread() 打开的 cv::Mat 对象,可以用 dir 命名 POSIX 的 opendir 打开的 DIR * 变量,可以用 socket_fd 命名 POSIX 的 socket() 打开的 socket 描述符等。 尽量别用缩写
  • filename只包含文件名、不含任何路径(包括相对路径) 的字符串对象名。
  • pathname 指包含 绝对路径 的文件名的字符串对象名。
  • file , fd , img , dir , socket_fd , filename , 和 pathname均加前缀 ,以进一步区分,比如 image_filename , samples_pathname 等;不过,若 只是个在函数内用的临时变量,也可以不用加 ,方便; 也可以再加 s 后缀 ,以表明它在 Python 中可能是对应的 list , 在 C++ 中则可能是对应的 std::vector 容器等。
  • 不论字符串对象是 filename 还是 pathname ,如果 字符串值 中的文件是目录,一定要加 / 后缀;否则,就加文件格式后缀。
  • 在项目用文件 IO 函数时,如果要处理的文件和项目源代码无关,则必传 pathname 字符串对象;反之,可以用 filename 字符串对象,必要时再追加表示相对路径或绝对路径的字符串对象。

Written with StackEdit .

原文  http://tech.acgtyrant.com/御用文件-IO-命名规范/
正文到此结束
Loading...