Post #2951168
2023-08-09 10:39 UTC
@cutterkom@mastodon.social @djnavarro@fosstodon.org Excellent question. I had some related thoughts: https://www.milesmcbain.com/posts/assertive-programming-for-pipelines/
The gist being you're better off doing assertive programming because that ensures every pipeline run adheres to yours assertions.
But there's still a related question which is: Do I want to fail fast as soon as any assertion fails? or do I want to check all my assertions and record data about each failure?
I use both strategies at different times.
Replies (1)
-
@milesmcbain@fosstodon.org 2023-08-09 10:44
@cutterkom@mastodon.social @djnavarro@fosstodon.org The difference is mainly: If the object is just an intermediate object then it tends to be fail fast. If the object is a kind of output in itself - I.e. it may get into the hands of a client, or it represents some kind of important checkpoint - in that future work may branch off from it - then I tend to run something like a 'check suite' that performs a bunch of validation steps and records the results of all.