On Jun 18, 2013, at 10:16 PM, Ryosuke Niwa <rn...@webkit.org> wrote:

> On Tue, Jun 18, 2013 at 7:20 PM, Simon Fraser <simon.fra...@apple.com> wrote:
>> On Jun 18, 2013, at 7:11 PM, Darin Adler <da...@apple.com> wrote:
>> 
>>> On Jun 18, 2013, at 7:05 PM, Ryosuke Niwa <rn...@webkit.org> wrote:
>>> 
>>>> Why don't we call it requireStyleResolver() instead?
>>> 
>>> I’m warming to this idea. Maybe we can use “require” as a term of art, 
>>> analogous to the way we use “create”, to mean “create if not already 
>>> created”.
>> 
>> Since the fact that it returns a reference implies that it must create 
>> something if necessary, the “required” part of the name seems redundant. Why 
>> not just
>>      StyleResolver& styleResolver()
>> 
>> requireStyleResolver() sounds like it would return a bool.
> 
> True. But it's important to differentiate a simple inline accessor and a 
> lazily-create function because it's very easy to write code like:
> 
> if (styleResolver().x())
>     styleResolver().y();
> 
> and incur two function calls when we could have done
> 
> StyleResolver& resolver = styleResolver();
> if (resolver.x())
>     resolver.y();
> 
> instead.
> 
> On the other hand, I've started to think that maybe we can simply forbid the 
> former style altogether in the style guide so that we'll never have to think 
> about whether a given function is inline or not.

I don't think possible lazy creation is a good reason to decorate the name. 
Functions should be named for what they do, not their presumed efficiency.

I am also not sure we need a style guideline about putting things into 
variables. If it makes a difference in a hot code path, then sure, but most of 
the time, the more concise code is better.

 - Maciej

> 
> - R. Niwa
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to