Hacker News new | ask | show | jobs
by IshKebab 1793 days ago
Very woolly. I was expecting more concrete things like

* Use static types

* Use CI and version control

* Use schema-based data storage

* Prefer function calls to events

* Use formal verification if possible

etc.

4 comments

> * Use schema-based data storage

Great idea until it isn't. The article is full of bullshit but one thing is very true. We can't predict the future, especially so when we deal with humans and society where stuff changes fast. Strict schemas are more pain than gain here.

> * Use formal verification if possible

Wonder when F* and the like get mainstream so that "if possible" becomes "almost always".

Strict schemas vs. dynamic data is a very odd argument. It's like arguing whether we should breathe in or breathe out.

A healthy practice combines both depending on the nature of the task.

Schemas don't mean that formats can't evolve.
Schemas make formats easier to evolve.
Interesting. Why function calls over events? And is it always applicable?
I suspect because it makes both data and control flow more explicit and traceable.

> And is it always applicable?

No heuristic is always applicable.

> No heuristic is always applicable.

Exactly. That's why it is called a heuristic and not a rule. :)

Not always applicable but it makes debugging far easier, reduces the chance of events being lost and makes it easier and safer to understand and modify code.
Interesting that we can sum up all those as "rely more on static analysis" :)
That's the technical side of things. But there is also a human side of software development and this is even more important to get right than the technical side.