Skip to content

Files

Latest commit

 

History

History
76 lines (51 loc) · 1.13 KB

extension_access_modifier.md

File metadata and controls

76 lines (51 loc) · 1.13 KB

Pattern: Missing extension access modifier

Issue: -

Description

Prefer to use extension access modifiers.

Examples of correct code:

extension Foo: SomeProtocol {
   public var bar: Int { return 1 }
}


extension Foo {
   private var bar: Int { return 1 }
   public var baz: Int { return 1 }
}


extension Foo {
   private var bar: Int { return 1 }
   public func baz() {}
}


extension Foo {
   var bar: Int { return 1 }
   var baz: Int { return 1 }
}


public extension Foo {
   var bar: Int { return 1 }
   var baz: Int { return 1 }
}


extension Foo {
   private bar: Int { return 1 }
   private baz: Int { return 1 }
}


extension Foo {
   open bar: Int { return 1 }
   open baz: Int { return 1 }
}

Examples of incorrect code:

extension Foo {
   public var bar: Int { return 1 }
   public var baz: Int { return 1 }
}


extension Foo {
   public var bar: Int { return 1 }
   public func baz() {}
}


public extension Foo {
   publicfunc bar() {}
   publicfunc baz() {}
}

Further Reading