Thursday, July 25, 2013

File Naming

A quick post on File Naming

Based in part upon a much better post by macsparky this is a quick post about filenaming and version control if you work in a professional environment with other people.

Use YYYY-MM-DD at the start

I recommend using a combination of YYYY-MM-DD something else.extension or YYYY-MM something.extension. The date always goes first. Always

The date in the document should be meaningful to you. In many cases this is simply the creation date (don't assume the creation date will always be preserved, especially when working on documents in a work capacity)

* The four digit year and month eliminators make it easy to sort the files
* When searching for files you probably have some idea of the year and month you created the file

Use a version control at the end. But don't use V.X

I'm a big fan of a suffexing files with [A-Z]###. What does that mean?

  • 2017-04 Monthly report A001.xls (April 2017 terrible exciting and important monthly report. The first one I create)
  • 2017-04 Monthly report A002.xls (A change I made to this report to make it even more insightful. I shipped this copy to my boss)
  • 2017-04 Monthly report B001.xls (The copy of the report after making the changes my boss asked for p.s. It's less exciting now)
  • 2017-04 Monthly report C001.xls (A copy of the report that shipped that Finance asked to be simplified)
  • 2017-04 Monthly report C002.xls (After feedback from Finance they asked for my proposed report to be made even simpler. Accountants eh)

The principle is that you start your versions at A001.

Then. Every small iteration thereafter increases the version by one. Therefore A002 is more up to date than A001. If there is only A's in your directory the highest A version is the current version.
You change letters every time something 'interesting' happens. In my example above B001 was interesting because this was after changes my boss and I agreed to version A002. Why didn't I call this A003? Because in my head A002 was 'Gold'. But because some fundamental changes were required before I could ship it I upped the version to B001. In the FUTURE if I come back I can see very quickly by comparing them that A002 and B001 are 'significantly' different (whilst A002 and A001 were incrementally different)
Same story for C001. Although this began as the Monthly Report, what Finance wanted was so crazily different it got it's only version.


  • Easy to spot incremental and fundamental changes (Using v1.x to v2.x etc feels like 2.x is always better than 1.x In the system I propose A , B etc. are just key milestones. C is probably incremental to B but could also be a niche pet project)
  • Works nicely when you sort ascending by file name (using v1.x does sort.. Until you get to v10)
  • Disc space is practically infinite. Save increments often and it gives you a feel for the number of iterations (Which is useful in future planning)
  • If you get to A999... Something is wrong with you!!! STOP! Think about what you're doing


No comments: