代码的文件和路径命名规范和目录结构规划

时间:2023-01-11 05:23:36

简介

环境一搭好一般都不大好改动路径文件夹和文件名称,所以规范些比较好。

注:在简书写完复制过来比较方便,一般在简书上先更新。点击查看

规则经验

文件、文件夹命名法

  • 用字母或下划线_开头的驼峰命名法,比较特有的名称用大驼峰命名法(A51、PHP、VHDL、Altera、Intellij、CLion),通用和常见的名称用小驼峰命名法(env、pro)。不要用中文或特殊字符,如“ ” & - 空格等(空格在指令或代码编辑器里经常要加转义符\ 麻烦),因为我们最好要做到Windows Linux Mac等跨平台通用(比如有种情况,zip文件在跨平台解压时有些文件名不符系统规则导致无法解压),且大多有些旧硬件开发工具不支持中文路径,及如AndroidStudio中资源文件命名要求等原因,所以名称最好最好都 只含英文字母、下划线、数字,并只用字母或下划线开头。另外,c++带有特殊字符+,偶尔必要时可用cxx命名代替。
  • 文件文件夹名称尽量短,原因之一:有些开发工具对路径长度要求128B内甚至更短,之二:比较容易看。
    例如C:\Code\XX\下放开发环境相关配置资源文件的文件夹Environment用env表示,C:\Code\XX\下放工程文件的文件夹Projects用pro表示就好。

目录总体长度尽量短

原因同上

目录结构规划

一级目录 C:/Code/

二级目录 各语言、各IDE的文件夹

如下图是我当前代码文件和路径的规范样子,可能比较不好的一点是编程语言(A51、PHP、VHDL)和开发IDE(Altera、Intellij、CLion)放在同一个Code目录下了,但是总体涉足的语言和工具还不算多,所以根据上面“目录总体长度尽量短”原则,不用两文件夹区分开,保持这样就行。


代码的文件和路径命名规范和目录结构规划
参考

三级目录 常用通用文件夹

一般小写开头

  • env 表示Environment,用于放 开发环境相关配置资源文件
  • pro 表示Projects,用于放 工程文件
    • 在pro下建目录 <工程名称_root><工程名称>,比如C:/Code/Android/pro/robot_root/robot这样的好处之一是xxx_root下可以再建ref文件夹放参考代码、建docs放相关资料等。好处之二是在xxx_root下的工程包xxx可以右键压缩作为本地阶段性备份,压缩完在压缩包文件名后部用输入法打timeshijian可快速加入时间截如2017年9月8日 095646,再追加对该备份的备注描述,如下示例
      代码的文件和路径命名规范和目录结构规划
  • lib 表示libraries,用于放 库文件及库工程
  • course 放教程,或者推荐放在其他盘里,比较不占C盘空间资源

截图示例比较好说清楚:

代码的文件和路径命名规范和目录结构规划
Paste_Image.png

路径尽量用右斜线 / 不用Windows默认的\

因为/用法更跨平台通用,且url网址等也是用/
比如你C:\Code\PHP\xx,可以改手打习惯为 C:/Code/PHP/xxx,这样在windows里的地址栏等地方可以用,直接复制到代码编辑器里也不用像\必须修改为转义符\\
所以记得,右斜之~//////////////////有如C代码注释//之风

电脑分区建议

Windows下当前最好的分区样子是不分区。
如果你只有一个SSD或HDD硬盘。在其它操作系统一般都没win那样搞那么多盘的麻烦,文件管理方式不同。如果你电脑系统经常崩要重装那建议分个独立C盘D盘就行,反正我笔记本用4年的win7还没崩过。(听说国外硬盘大都不分区因为他们用正版win很少崩。。。)
如果你电脑是SSD+1T HDD的,那刚好SSD作C盘,HHD作D盘,不要搞出EFG盘,像我这样,当初在win下分太多盘,盘盘间移动耗时,不够放同类文件时经常这盘放一点那盘放一点,管理很混乱:(当然可以用工具无损合并多个盘但我空间不足还没空整理)

代码的文件和路径命名规范和目录结构规划
全盘告急。。

当然你用到linux可以再分一个盘来装。
所以比较建议的是SSD作C盘,HHD作D盘。
而SDD的C盘如 C:\Program
Files (x86)\
用来装比较吃打开速度、吃运算速度、存取频繁的开发工具(如AndroidStudio、Eclipse、PS、VS、Matlab、浏览器)等软件,推荐核心常被调用的库或工具等装在固态c盘,如jre、gnu、ndk,当然建议大多开发工具安装放c盘互相调用时比较快。
而D盘如 D:\Program
Files (x86)
用来放平常的软件,特别是较大型但一般不卡不慢的软件,如AD、office、音乐视频阅读类软件等。

想到的就先写这么多吧。