The `Describe` protocol could be called `Descriable` or `Described` and the method should be just `description`. The problem with a verb method name, like `describe`, is that it suggests some side-effect happening potentially, when in fact it should be some kind of a read operation, if not a constant or a pure function of the object implementing it.
The `Describe` protocol could be called `Descriable` or `Described` and the method should be just `description`.
The problem with a verb method name, like `describe`, is that it suggests some side-effect happening potentially, when in fact it should be some kind of a read operation, if not a constant or a pure function of the object implementing it.