A riff on strongly-typed. Used to describe an implementation that needlessly relies on strings when programmer- and refactor-friendly options are available.
I really hate stringly typed code. It's convenient for a while, but it grows all kinds of weird bugs over time. Almost every conceivable corner case in the format [sic] tends to be broken, because they have to be reimplemented in every bit of code that processes the string.
I usually call it out as Alan Perlis's "stark data structure", but "stringly typed code" has a much better ring to it.
Love it. I'm absolutely going to start using that term!
ReplyDeleteI like char* based APIs in C. They make the caller and callee very loosely coupled. No struct/enum/typedefs/defines that need sharing, just pass character pointers to each other.
ReplyDeleteIt makes forward declarations easier, shortens header dependency chains.