== Why is this an issue?

A file that grows too much tends to aggregate too many responsibilities and inevitably becomes harder to understand and therefore to maintain. This is doubly true for a file with multiple independent classes, extensions, protocols, enumerations or structures. It is strongly advised to define each individual type in separate source file.

=== Exceptions

The case when file contains only class and its extensions is ignored.

----
class MyViewController: UIViewController {
  // class stuff here
}

extension MyViewController: UITableViewDataSource {
  // table view data source methods
}

extension MyViewController: UIScrollViewDelegate {
  // scroll view delegate methods
}
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

There are N independent types in this file; move all but one of them to other files.


'''
== Comments And Links
(visible only on this page)

=== on 15 May 2015, 12:38:41 Ann Campbell wrote:
looks good [~elena.vilchik]

endif::env-github,rspecator-view[]
