file naming and organizing conventions
There are only two hard things in Computer Science: cache invalidation and naming things — Phil Karlton
Naming things is important. To avoid headache in the future and to be consistent inside the lab, we follow the set of rules below to name and organize files. I use `file` and `directory` interchangeably (unless the difference is obvious in the context) because `directory` is just a special file.
be intuitive. You should be able to recognize or guess what a file is about a year later, by merely looking the file name.
avoid redundancy. It is bad to have every file in a directory contain the same string; instead, use the string as part of the directory name.
use the time stamp as part of the directory name if it is time sensitive
use only alphanumeric characters, DOT, HYPHEN, and UNDERSCORE in the file name
never use SPACE or other special characters in anywhere of the file name
use DOT between file name and file suffix
use HYPHEN (preferred, or use UNDERSCORE) between words in a phrase
use double HYPHENs (or UNDERSCORES)
use lower case by default for all file name unless:
UPPERCASE: acronyms, abbreviations, critical files
Capitalize Each Word: person names, country names, etc.
use "v" + number to indicate the versions of the file. For example,
research-proposal.v1.doc. The file name prefix should be always the same - the only changing part is the version number. The first version is always
When using a sequential numbering system, use leading zeros for clarity so that files can be sorted in sequential order. For example, use "001, 002, …010, 011 … 100, 101." instead of "1, 2, …10, 11 … 100, 101, etc.". And use 1-based (instead of 0-based) numbering
use digit format YYYYMMDDHHMMSS for time; the right part can be omitted if you don't need to be precise on time; use HYPHEN to join 2 time points for time intervals.
The above rules do NOT apply to files of source code. For example, you can't use hyphen in a python module script, because "import foo-1" is syntactically wrong.