Pattern: Grouping code with extensions
Issue: -
Extensions shouldn't be used to group code within the same source file.
Examples of correct code:
protocol Food {}
extension Food {}
class Apples {}
extension Oranges {}
Examples of incorrect code:
enum Fruit {}
↓extension Fruit {}
↓extension Tea: Error {}
struct Tea {}
class Ham { class Spam {}}
↓extension Ham.Spam {}
extension External { struct Gotcha {}}
↓extension External.Gotcha {}