5 ms·
I program a lot of Python using PyCharm, and one of my favorite features of this combination of language and IDE is how easy it is to hop into the source of you
by MattConfluence 9y ago
I program a lot of Python using PyCharm, and one of my favorite features of this combination of language and IDE is how easy it is to hop into the source of your dependencies.
Anything you have imported into your code you can bring up the context menu for and click "go to declaration" (or use the relevant keyboard shortcut).
Python dependencies are source code, not compiled blobs, and the import syntax makes it very explicit where definitions come from.
If I'm unsure how to do something with the library I usually look at the source of the relevant module before looking up online docs.
- reitanqild 9y agoJava, Maven and Netbeans is almost as easy but since dependencies are compiled I have to click one more time, -download sources- and there I have it.
- jdmichal 9y agoEclipse will automatically attempt to download sources from Maven when you jump into a dependency.
- reitanqild 9y agoI suspected it was easy in eclipse as well and should possibly have mentioned that. That said let me add that IntelliJ probably has similar systems.
- nazgul17 9y agoIf you don't have the source, IntelliJ will decompile the binary and I must say it does a terrific job. It also handles downloads via Maven, but I have only done it only once and don't remember the details.
- Entalpi 9y agoThis is why I love C++ and C even though you cant find the source you can read the headers.
- sigjuice 9y agoWhat programs or libraries are these for which you can't find the source but have the headers available to read?
- smitherfield 9y agoAnything proprietary? Trivial example: Windows or MacOS system headers.
- sigjuice 9y agoDoh! Of course. Being on Linux almost all the time has given me tunnel vision.
- Matthias247 9y agoAll proprietary third party libraries which one might depend on. And depending on the domain that could be at lot.
- lr4444lr 9y agoI think the ease with which your IDE lets you get and debug into the source code of your dependencies (assuming your language lets you do this) is definitely something I overlooked in my earlier development career as pivotal to better understanding not only the dependencies, but how to think about software from other peoples' POV, which when done often enough gives you a better intuition for where and why different bugs manifest. JetBrains indeed makes some awesome products.