RollYourOwnFilesystem

Last edit May 9, 2012
Antipattern

Causes:
  • Pride

Driving Forces:
  • Windows has historically had poor archiving libraries.
  • Littering the filesystem with hundreds of tiny files is not really a good idea.
  • ZIP imposes both structure and compression, which may not be what you want.
  • The tried-and-true UNIX archive formats usually have odd issues on Windows and aren't seekable if compressed.
  • Insufficient filesystem support for metadata other than a couple of dates and a few flags.

Description: A custom written file format for storing other files.

Examples: Most videogames.

Variants:
  • The renamed zip file. (docx, new fla, swc, xlsx)
    • This is not actually a bad idea -- document should be one file so it's not split by copying.
  • Sometimes happens recursively.

Avoiding the antipattern:
Littering the filesystem with hundreds of tiny files is not really a good idea

This really depends greatly on the filesystem. As noted in InterNetNews: Usenet Transport for Internet Sites, by Rich Salz, (http://www.usenix.org/publications/library/proceedings/sa92/salz.pdf) it depends greatly on how you operate on the filesystem, and to some extent on the filesystem design. There are now many choices for filesystems that are optimized for rapid open/read/close of many tiny files.

Yeah, but the OS and Applications filesystem (remember most examples are Windows) isn't that.
CategoryAntiPattern CategoryDevelopmentAntiPattern