On Tue, Jan 7, 2014 at 12:53 PM, Robert O'Callahan <rob...@ocallahan.org> wrote:
>
> We have a lot of places where we write "void Method() { ... }" all on one
> line for trivial setters and getters. I wonder if we should permit that.

The conclusion for this question was "no", but I will ask for it to be
reconsidered.

In bug 1014377 I'm converting MFBT to Gecko style. Here are some real
one-line functions that I would have to convert to four lines each:

> static T inc(T& aPtr) { return IntrinsicAddSub<T>::add(aPtr, 1); }
> static T dec(T& aPtr) { return IntrinsicAddSub<T>::sub(aPtr, 1); }

> static T or_( T& aPtr, T aVal) { return __sync_fetch_and_or(&aPtr, aVal); }
> static T xor_(T& aPtr, T aVal) { return __sync_fetch_and_xor(&aPtr, aVal); }
> static T and_(T& aPtr, T aVal) { return __sync_fetch_and_and(&aPtr, aVal); }

> static ValueType inc(ValueType& aPtr) { return add(aPtr, 1); }
> static ValueType dec(ValueType& aPtr) { return sub(aPtr, 1); }

When it comes to questions of style, IMO clarity should trump almost
everything else, and spotting typos in functions like this is *much*
harder when they're multi-line.

Furthermore, one-liners like this are actually pretty common, and
paving the cowpaths is often a good thing to do.

Thoughts?

Nick
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to