So, I just finished writing a small WebSocket server and client, twice.
Well, three times really, but that’s a different story.
I have both codebases side by side, and I’m trying to figure out which one I want to keep more, and one metric I was considering was the relative ‘functional’ attributes between the two.
Without going into a lot of details, one uses a common thread-safe mutable dictionary, some custom Event objects, and the IEvent/Observable pattern to handle those Events.
The other uses a normal list, MailboxProcessors and contains more Types to keep things organized. It unfortunately has an uncomfortable bodge that I don’t like.
I want to try and evaluate them on functional merits but I’m too new to the language to have a lot of ‘taste’ myself. I’ve been considering things like number of functions returning unit, overall composability (number and length of pipelines), what is mutable, etc.
Does anyone have any metrics they like to use when looking at two similar projects, assuming things like performance are the same or very similar?