libXO-ification - Why - and is it a symptom of deeper issues?

Garrett Cooper yaneurabeya at gmail.com
Sun Nov 15 18:10:39 UTC 2015


> On Nov 15, 2015, at 10:05, Allan Jude <allanjude at freebsd.org> wrote:
> 
>> On 2015-11-15 07:54, Dan Partelly wrote:
>> 
>> Hi all,
>> 
>> I was looking at the new facility of dumping JSON,XML from many utils in base and after some funny minutes, I couldn't stop ask myself “ Ok, this is funny , but why ? “ And I couldn't find a real answer. Ill outline what I think:
>> 
>> 
>> 1. Undoubtedly, it makes base code slightly harder to understand and maintain.
> 
> I am not sure that libxo actually makes the code any harder to
> understand and maintain. It might actually make it slightly better.
> 
> replacing:
> 
> printf("%s %s %d\n", foo, bar, number);
> 
> with:
> 
> xo_emit("{:foo/%s} {:bar/%s} {:number/%d}", foo, bar, number);
> 
> it not really hurting much.

That's by and large true, but there are other APIs that need to be called on exit (xo_finish?) and in other scenarios where flushing, etc is needed. If you don't do that, you don't get the output you expect (which broke uptime/w several months ago..).

Also, typos with the meta language into the xo_emit calls have bit is more than once ;(.


More information about the freebsd-current mailing list