== Why is this an issue? Unlike class and instance methods, static methods don't receive an implicit first argument. Nonetheless naming the first argument ``++self++`` or ``++cls++`` guarantees confusion - either on the part of the original author, who may never understand why the arguments don't hold the values he expected, or on that of future maintainers. === Noncompliant code example [source,python] ---- class MyClass: @staticmethod def s_meth(self, arg1, arg2): #Noncompliant # ... ---- === Compliant solution [source,python] ---- class MyClass: @staticmethod def s_meth(arg1, arg2): #Noncompliant # ... ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Remove the "xxx" argument from this method definition. ''' == Comments And Links (visible only on this page) === is duplicated by: S2851 === is duplicated by: S2852 === on 24 Apr 2015, 09:04:19 Elena Vilchik wrote: \[~ann.campbell.2] I would replace ``++bug++`` tag with ``++confusing++``. Or at least add it. WDYT? === on 28 Apr 2015, 15:36:24 Ann Campbell wrote: \[~elena.vilchik] I've downgraded this from bug to pitfall (meaning it's not broken now but you've left a trap for the next guy) endif::env-github,rspecator-view[]