- One of the dilemmas I've had is: Is it better to have A. less file & more lines per file or B. more files with fewer lines of code? I've been told that generally, the B. option is better. I also started preferring this approach, i.e. more small widgets that each of them is controlled by their own small manager. It may look more complicated due to more files, however, actually, to me it's more clear and less confusing since I expect each widget to have its own manager.
- `TimerService` (I guess you are talking about Alternative C): you are right, I rather should have called the file: `timer_logic.dart` or `timer_facade.dart` since it is not a true service in the independency sense. However, the dependency flow goes from the left to the right, so that shouldn't be an issue for a logic/facade layer, correct? It's just basically extracted logic to its own file out of the manager/notifier layer. Again as mentioned in the previous point, we end up with more files but fewer lines which at least to me looks more structured, cleaner, and clearer too - to have each of the files its own purpose. On the other hand, I understand it rather looks like overkill for such a simple app but isn't it better to follow the clear structure even in small apps?
Disclaimer: I've been developing in Flutter only for two years so I can't speak of best practices. I can only speak for myself and rather than speak I should use the verb "ask" :)