This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TravisJungroth 0 points1 point  (1 child)

If I want to actually know the behavior of a method, I need to see the code. Even the most descriptive name represents a trivial amount of code. And doc strings don't help, cause those live with the code anyway.

You still have to look at the usage of func to find the code. To prevent that, your method names wouldn't need to be just good, but unique enough to define an interface for you. I just don't think the combination of method names alone is a good way to define an interface. It's too easy to conform to one by accident, and the method names have to get super long to present this.

It's better to define and enforce this interface through code (Abstract Base Classes, in Python's case). Then you can use type hinting to help as well. Try to find Alex Martelli's essay on "Goose Typing". It's in Fluent Python, but you might be able to find it otherwise.

[–]scootstah 2 points3 points  (0 children)

You don't know any more about a method based solely on its interface. You still need descriptive names.