In java, for example, jump to definition is pretty flawless.

Unless I'm in an interface and inheritance heavy codebase. Then the first place it jumps to is rarely the one I wanted.