Hacker News new | ask | show | jobs
by paulddraper 996 days ago
YAGNI

The idea is so simple that any change would be a misfeature.

1 comments

I'm a big YAGNI proponent but format version numbers are not something I would dare to YAGNI.
Even if it's varint separated messages?
You stick a magic number and a version number at the top of the file and call it done. It’s trivial and buys you a great deal.

The magic means it’s possible to identify the file type. Maybe you’ll add a tool later that operates on multiple types of files.

The version means you can evolve the contents in non-backwards-compatible ways, while maintaining the ability to read/parse the old version.

It’s a pain in the ass to add a magic or version number later; there’s a reason why nearly every file format on the planet has both.

> nearly every file format on the planet

XML

JSON

YML

TOML

  <?xml version="1.1" encoding="UTF-8" ?>
The others are serialization formats, like protobuf — they’re not file formats.
XML prolog is optional.

> they're not file formats

Brb, gonna delete all my files without file formats