hokein added inline comments.

================
Comment at: clang-tidy/google/FunctionNamingCheck.cpp:57
+      functionDecl(
+          isDefinition(),
+          unless(anyOf(isMain(), matchesName(validFunctionNameRegex(true)),
----------------
stephanemoore wrote:
> hokein wrote:
> > any reason why we restrict to definitions only? I think we can consider 
> > declarations too.
> I restricted the check to function definitions because function declarations 
> are sometimes associated with functions outside the control of the author. I 
> have personally observed unfortunate cases where functions declared in the 
> iOS SDK had incorrect—or seemingly incorrect—availability attributes that 
> caused fatal dyld assertions during application startup. The check currently 
> intends to avoid flagging function declarations because of the rare 
> circumstances where an inflexible function declaration without a 
> corresponding function definition is required.
> 
> I have added a comment explaining why only function definitions are flagged.
> 
> I am still open to discussion though.
Thanks for the explanations.

I have a concern about the heuristic using here, it seems fragile -- if there 
is an inline function defined in a base header, the check will still give a 
warning to it if the source file `.m` #includes this header; it also limits the 
scope of the check, I think this check is flagged mostly on file-local 
functions (e.g. static functions, functions defined in anonymous namespace).

Flagging on function declaration doesn't seem too problematic (we already have 
a similar check `objc-property-declaration` does the same thing) -- our 
internal review system shows check warnings on changed code, if user's code 
includes a common header which violates the check, warnings on the header will 
not be shown; for violations in iOS SDK, we can use some filtering matchers 
(`isExpansionInSystemHeader` maybe work) to ignore all functions from these 
files.




Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D51575



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to