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
}