Multi-line text output via printf() et al.

andrew clarke mail at
Thu May 14 21:42:53 UTC 2020

On 2020-05-14 15:44:18, Tim Daneliuk (tundra at wrote:

> Warning - Pet Peeve follows, ignore me if you think it's stupid ...
> However you decide to do it, can we _please_ stop embedding literal strings
> in printf(), python print(), and so forth?  Strings should be pulled out
> as variables into one centrally maintained location in the code.  Why?
> Because, someday, you may actually want to have your code run with output
> in something other than your native language.  Because strings are often
> reused in several places in the code.  Because you may someday actually
> want to use unicode characters.

Fundamentally I agree but doing this opens a can of worms that I suspect
many coders would prefer not to deal with, especially for hobby projects
that form the basis of many open source programs.

And rightly or wrongly, literal strings do act as documentation.

Also for modern languages like Python and C# 6.0 there's the problem of
refactoring expressions written into string literals. It's not ideal to have
these strings strongly decoupled from the code they're associated with.

> You haven't lived until you've had to scour thousands of lines of code
> looking for literal strings or having those strings embedded symbolically,
> deep down in the guts of the code.

There should be tools that can help with this.

More information about the freebsd-questions mailing list