This is related to squid:MaximumInheritanceDepth, which seems reasonable.
I’m creating a library which is supposed to be extendable. Some classes may be open to modifications, that’s also why the default visibility in this project is protected.
But there might be situation where I don’t notice that class I’m designing for extension, already reached max of its parents (default: 5).
Then the client, to extend it, would need to silence/change the rule.
Do you think it would be good idea to suggest developer to make such a class final? It would be consistent with the above rule.
Or there is already some mechanism for such situations?
Or is it really flawed design and I’m missing something here?