[webkit-dev] Using C++ constant local variables in WebKit
David Kilzer
ddkilzer at webkit.org
Wed Nov 30 17:00:48 PST 2011
On Nov 29, 2011, at 6:44 PM, Ryosuke Niwa wrote:
> On Tue, Nov 29, 2011 at 6:42 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
>> - Prevents misuse of variable in a later patch (by a different author) through enforcement of const-ness.
>
> Prevents one specific type of misuse: Setting the variable to another value. And that may not be misuse despite the fact that the original author didn’t plan on changing it.
>
> Right, but it tells us the intent of the author, and appears to be useful even if the variable started with prefixes like "old", "original", and "previous".
>
> I'll add that I'd much prefer seeing a const in front of a local variable over seeing a comment like "This variable shouldn't be modified".
Thanks for the feedback everyone. In retrospect, I see that my original question was too broad and too general.
What I (and Antti) really wanted to ask was whether it's okay to use const pointers on a case-by-case basis without making it a project-wide rule.
And this is the specific case I'm talking about:
diff --git a/Source/WebCore/platform/KURL.cpp b/Source/WebCore/platform/KURL.cpp
index e752bb8..cb033bd 100644
--- a/Source/WebCore/platform/KURL.cpp
+++ b/Source/WebCore/platform/KURL.cpp
@@ -486,7 +486,7 @@ void KURL::init(const KURL& base, const String& relative, const TextEncoding& en
parseBuffer.resize(bufferSize);
char* bufferPos = parseBuffer.data();
- char* bufferStart = bufferPos;
+ char* const bufferStart = bufferPos;
// first copy everything before the path from the base
unsigned baseLength = base.m_string.length();
But of course I couldn't stop there because there were other pointers that could be const in this method, so I ended up with:
https://bugs.webkit.org/show_bug.cgi?id=73502
Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20111130/d917be3e/attachment.html>
More information about the webkit-dev
mailing list