Should file-names contain information to fully represent itself?
Explicit
$ hulk_1000_v001_marcus.mb
Here, the file clearly belongs to the project hulk, shot 1000, it is of version 1 and belongs to the user marcus.
Implicit
The alternative is to rely on the hierarchy, containing this file:
hulk
shots
1000
private
marcus
maya
v001.mb
Thoughts
In Explicit there is a duplication of information, which could potentially become out of sync. However, this duplicity could be used as a guarantor, assuring that a file indeed lies where it should, and when it isn't, it could be "returned to sender".
In Implicit information is inferred by context. It is minimally complete, no duplication of information, and each name within a hierarchy conforms to a hierarchical convention; as opposed to a naming convention, and as such is more difficult to break and simpler to program against (no regex required).
Should file-names contain information to fully represent itself?
Explicit
Here, the file clearly belongs to the project
hulk, shot1000, it is of version1and belongs to the usermarcus.Implicit
The alternative is to rely on the hierarchy, containing this file:
Thoughts
In Explicit there is a duplication of information, which could potentially become out of sync. However, this duplicity could be used as a guarantor, assuring that a file indeed lies where it should, and when it isn't, it could be "returned to sender".
In Implicit information is inferred by context. It is minimally complete, no duplication of information, and each name within a hierarchy conforms to a hierarchical convention; as opposed to a naming convention, and as such is more difficult to break and simpler to program against (no regex required).