> On March 11, 2014, 11:17 p.m., Aleix Pol Gonzalez wrote:
> > src/kcompletionbox.h, line 228
> > <https://git.reviewboard.kde.org/r/116747/diff/1/?file=253404#file253404line228>
> >
> >     I wouldn't leave the implementation here. Move it to the .cpp file, 
> > this way it can be changed in the future, if it's required for some reason.
> >     
> >     Also there's a typo in the method name.
> 
> David Gil Oliva wrote:
>     Alex Merry inlined deprecated methods in 
> https://git.reviewboard.kde.org/r/116012 , so I thought that it was the way 
> to go...
> 
> Alex Merry wrote:
>     Well, there's a balance to be struck: putting them in the header ensures 
> there is no runtime cost to programs that don't use the deprecated methods, 
> as the code should be optimised away, that the library is always 
> binary-compatible even if you compile it with deprecated code disabled 
> (*_NO_DEPRECATED) and makes the header code document how to replace existing 
> calls.  The downsides are an inability to fix the code later and an inability 
> to access members of a private d-pointer class.  Neither of those are an 
> issue here, as we're just renaming the method.
>     
>     tl;dr: I disagree with Aleix, and think it should stay in the header.
>     
>     Oh, and Aleix: could you please select the whole method when you're doing 
> a comment like this, rather than just the first line? Otherwise it's a pain 
> to see what you're referring to.  Thanks :-)
> 
> Aleix Pol Gonzalez wrote:
>     Well, I wouldn't bother about runtime penalty given that it's deprecated 
> and we shouldn't be using it anyway. Also we can't make assumptions on how 
> things are going to be optimized.
>     
>     But it's ok, I don't think it's worth discussing further, I doubt this is 
> going to be a problem in the future.
> 
> Alex Merry wrote:
>     I mean the runtime penalty for things that *don't* use it.  If it's 
> header-only, it doesn't go in the library, so there is no load-time 
> symbol-lookup penalty, and no code-size penalty.  Admittedly, both of those 
> are probably negligible...

Thank you both of you for the useful hints. With this little discussion I have 
learned some criteria to decide what to do now and in the future.


On March 11, 2014, 11:17 p.m., David Gil Oliva wrote:
> > Have you looked through the uses of the "un-slotted" methods? 
> > (lxr.kde.org). Maybe there's a reason for that... :/
> 
> David Gil Oliva wrote:
>     Maybe I'm totally wrong, but I can't imagine any way that a getter can be 
> useful as a slot. 
>     
>     connect (widget, SLOT(valueChanged(), completionBox, 
> SIGNAL(isTabHandling());
>     
>     Does it make sense?    ¿?:-/
> 
> Alex Merry wrote:
>     Non-void slots are only useful if they work as a slot (ie: have some sort 
> of side-effect) and might be called directly or with 
> QMetaObject::invokeMethod().  If the method is const (like a getter), there's 
> no point having it a slot at all; if you want to be able to use it with 
> invokeMethod, you can just make it Q_INVOKABLE.
> 
> Aleix Pol Gonzalez wrote:
>     Well, having const methods as slots doesn't make sense indeed, if it's 
> not for exposing on the meta object system, that's why I said you could do a 
> fast lxr. I just did, didn't find anything relevant.

Thank you for looking it up :-)


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116747/#review52703
-----------------------------------------------------------


On March 11, 2014, 10:32 p.m., David Gil Oliva wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/116747/
> -----------------------------------------------------------
> 
> (Updated March 11, 2014, 10:32 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kcompletion
> 
> 
> Description
> -------
> 
> Clean up KCompletionBox
> 
> -canceled() -> cancelled (private method)
> -Deprecate sizeAndPosition() --> resizeAndReposition()
> -Remove old comments and commented-out code
> -Move some slots to be normal methods, since they don't seem to be able to
> work as slots.
> 
> 
> Diffs
> -----
> 
>   src/kcompletionbox.h 09b7527 
>   src/kcompletionbox.cpp 92e87b3 
> 
> Diff: https://git.reviewboard.kde.org/r/116747/diff/
> 
> 
> Testing
> -------
> 
> It builds and tests pass.
> 
> 
> Thanks,
> 
> David Gil Oliva
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to