Review Request 121889: QString("") -> QStringLiteral("")

Milian Wolff mail at milianw.de
Fri Jan 9 10:47:24 UTC 2015



> On Jan. 7, 2015, 12:42 p.m., Milian Wolff wrote:
> > language/duchain/navigation/abstractnavigationcontext.cpp, line 108
> > <https://git.reviewboard.kde.org/r/121889/diff/1/?file=338732#file338732line108>
> >
> >     the QStringLiteral and QString() could be replaced by plain string literals here, I guess. Or QLatin1String.
> 
> Aleix Pol Gonzalez wrote:
>     Not really, in fact we should change all bare string literals into QStringLiteral(), otherwise we're not taking advantage of the magic performant stuff. I wouldn't do any of that though, because it will be lots of boring work for no gain.

Nope, that is not true. When you do concatenation of strings, using QStringLiteral is actually slightly worse. Rather, one should use QLatin1String in such cases. Or just plain string literals when that is not forbidden. QStringLiteral is only good when you actually need a QString, i.e. when you use it as-is.


- Milian


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


On Jan. 9, 2015, 12:15 a.m., Aleix Pol Gonzalez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121889/
> -----------------------------------------------------------
> 
> (Updated Jan. 9, 2015, 12:15 a.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> It's a correct change, it shouldn't have a big impact but it's the way to go.
> 
> Sending for review also to agree that it's how we want it.
> 
> 
> Diffs
> -----
> 
>   serialization/tests/bench_itemrepository.cpp 9c93ed9 
>   plugins/quickopen/tests/test_quickopen.cpp 5a65c69 
>   plugins/reviewboard/reviewboardjobs.cpp 903f38d 
>   plugins/reviewboard/reviewboardplugin.cpp 00b8908 
>   plugins/reviewboard/tests/main.cpp fb7f587 
>   plugins/standardoutputview/tests/test_standardoutputview.cpp 8159560 
>   project/tests/projectmodelperformancetest.cpp 872239c 
>   project/tests/test_projectmodel.cpp 4a34c8f 
>   serialization/itemrepository.h dcf39d6 
>   serialization/itemrepositoryregistry.cpp 57358ad 
>   serialization/tests/test_indexedstring.cpp 896449e 
>   shell/documentcontroller.cpp 8b3fde4 
>   shell/workingsetcontroller.cpp 84e5daa 
>   shell/workingsets/workingset.cpp 9d14f3e 
>   sublime/idealbuttonbarwidget.cpp 284227f 
>   sublime/idealdockwidget.cpp 2de64d1 
>   sublime/mainwindow.cpp 9613d59 
>   sublime/tests/test_aggregatemodel.cpp 79642ce 
>   sublime/tests/test_areaoperation.cpp 44b078a 
>   sublime/tests/test_areawalker.cpp bcf41c7 
>   sublime/tests/test_toolviewtoolbar.cpp 0c1bdd4 
>   sublime/tests/test_viewactivation.cpp 09bf4ad 
>   template/filters/kdevfilters.cpp ef6bebc 
>   tests/json/jsondeclarationtests.h dc78a81 
>   tests/json/jsontesthelpers.h 0877f76 
>   tests/testhelpers.h f397cd3 
>   util/environmentgrouplist.cpp 1f6668a 
>   util/tests/test_embeddedfreetree.cpp c28bbfd 
>   util/tests/test_path.cpp 77d3382 
>   vcs/dvcs/ui/dvcsimportmetadatawidget.h d25ff0d 
>   vcs/models/vcsannotationmodel.cpp 860d0d2 
>   debugger/breakpoint/breakpoint.cpp eb2b307 
>   debugger/framestack/framestackwidget.cpp 2253876 
>   debugger/variable/variablewidget.cpp 0203932 
>   language/codecompletion/codecompletionitem.cpp 307ad07 
>   language/codecompletion/normaldeclarationcompletionitem.cpp a62bf23 
>   language/codegen/codegenerator.cpp 1dbe75a 
>   language/codegen/coderepresentation.cpp 6e21a38 
>   language/codegen/documentchangeset.cpp ac38d30 
>   language/codegen/sourcefiletemplate.h ad1a4b8 
>   language/codegen/tests/test_templateclassgenerator.cpp 286aae2 
>   language/codegen/tests/test_templaterenderer.cpp 47b2da0 
>   language/codegen/tests/test_templatesmodel.cpp 5a562c4 
>   language/duchain/aliasdeclaration.cpp d2f35dc 
>   language/duchain/classfunctiondeclaration.cpp dc02cb4 
>   language/duchain/declaration.cpp 24d9436 
>   language/duchain/declarationid.cpp 8331046 
>   language/duchain/dumpdotgraph.cpp e5fa172 
>   language/duchain/functiondeclaration.cpp 03a46ee 
>   language/duchain/namespacealiasdeclaration.cpp a66afd7 
>   language/duchain/navigation/abstractdeclarationnavigationcontext.cpp 9711591 
>   language/duchain/navigation/abstractincludenavigationcontext.cpp 4101ec3 
>   language/duchain/navigation/abstractnavigationcontext.cpp 3020c4c 
>   language/duchain/navigation/problemnavigationcontext.cpp 60fa7cf 
>   language/duchain/navigation/useswidget.cpp 4f4258a 
>   language/duchain/problem.cpp 39224df 
>   language/duchain/tests/bench_hashes.cpp 8d40349 
>   language/duchain/tests/test_duchain.cpp 0430ffc 
>   language/duchain/tests/test_duchainshutdown.cpp 0f71e1e 
>   language/duchain/tests/test_identifier.cpp a63b3a4 
>   language/duchain/topducontext.cpp 64e91d1 
>   language/duchain/topducontextdynamicdata.cpp 18272c6 
>   language/duchain/types/arraytype.cpp ba8fee7 
>   language/duchain/types/constantintegraltype.cpp 21ad4fd 
>   language/duchain/types/functiontype.cpp 960c8c9 
>   language/duchain/types/pointertype.cpp b44b80a 
>   language/duchain/types/structuretype.cpp ebe94b7 
>   language/editor/modificationrevision.cpp 1dd88f2 
>   language/util/setrepository.cpp 59aee21 
>   outputview/outputexecutejob.cpp c1e7f01 
>   outputview/tests/test_filteringstrategy.cpp ec457c3 
>   outputview/tests/test_outputmodel.cpp e8b6226 
>   outputview/tests/testlinebuilderfunctions.h 6a24c87 
>   plugins/appwizard/appwizardplugin.cpp 27640b8 
>   plugins/appwizard/projectselectionpage.cpp c1f6dca 
>   plugins/bazaar/bazaarutils.cpp ae68788 
>   plugins/bazaar/bzrannotatejob.cpp 458977d 
>   plugins/bazaar/tests/test_bazaar.cpp 062dc07 
>   plugins/contextbrowser/contextbrowser.cpp 5771c92 
>   plugins/dashboard/dashboardview.cpp ba5e65d 
>   plugins/documentswitcher/documentswitcherplugin.cpp e459237 
>   plugins/executescript/executescriptplugin.cpp a9d6c86 
>   plugins/externalscript/externalscriptitem.cpp 2cf67ea 
>   plugins/externalscript/externalscriptplugin.cpp 8cccf71 
>   plugins/filetemplates/tests/test_generationtest.cpp 5b16436 
>   plugins/genericprojectmanager/test/test_projectload.cpp c0b38f5 
>   plugins/git/gitplugin.cpp 194843a 
>   plugins/git/tests/test_git.cpp 8434e65 
>   plugins/grepview/grepfindthread.cpp 6fee476 
>   plugins/openwith/openwithplugin.cpp cca73d9 
>   plugins/projectfilter/tests/test_projectfilter.cpp 96543a6 
>   plugins/quickopen/projectfilequickopen.cpp 9642a6e 
>   shell/openprojectdialog.cpp a0d8461 
>   shell/openprojectpage.cpp b551b05 
>   shell/plugincontroller.cpp 15f0443 
>   shell/projectsourcepage.cpp d6c1ac1 
>   shell/runcontroller.cpp bda106e 
>   shell/sessioncontroller.cpp aa2310f 
>   shell/settings/sourceformattersettings.cpp 2421bd1 
>   shell/sourceformattercontroller.cpp eee6bd2 
>   shell/statusbar.cpp 43642f4 
>   shell/tests/test_shelldocumentoperation.cpp 6da679e 
>   shell/textdocument.cpp 3e47a41 
>   shell/uicontroller.cpp 404d84c 
> 
> Diff: https://git.reviewboard.kde.org/r/121889/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Aleix Pol Gonzalez
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150109/9f3b4cf5/attachment-0001.html>


More information about the KDevelop-devel mailing list