In medical device systems, breaking code into smaller pieces reduces the need for regression testing and narrows the effects of change to a smaller scope.
For example, let's assume we have 15 functions for 3 themes in one file.
If I change one of the functions in the file, everything needs to be rebuilt and retested.
If I split the file into 3 separate files of 5 functions each, I only need to rebuild 5 functions and retest 5 functions. Testing 5 functions requires less testing time than 15 functions.
Also, when teams of people are working on the same code base, dividing the code reduces the probability of two or more people working on the same file. Multiple people working on the same file has many conflicts such as one person's code being accidentally removed during a check-in.