Bear with me. I am under the impression that I write Clean Code. You might be too. And you’re right. But you’re also wrong. I had a discussion at work the other week about a design decision in our codebase. I’ll try to sketch the situation as simply as possible. Basically we have temporal objects called Snapshots. To give an example, imagine a Person that looks something like this: publicclassPerson{ public Guid Id { get; set; } publicstring Name { get; set; } publicstring MaritalState ...