3 ms·
We have two main environments to develop in/for: Windows and Linux. When we tried Eclipse it sort of worked, but every time we set up the environemnt someone ha
by dr_zoidberg 11y ago
We have two main environments to develop in/for: Windows and Linux. When we tried Eclipse it sort of worked, but every time we set up the environemnt someone had trouble either with the VCS, or just getting PyDev installed. We also had some issues on Windows with Java not being 64 bit in 64 bit machines, which triggered some obscure Eclipse error that said absolutely nothing about the Java version, nor the 32/64 bits.
On the other hand, PyCharm is just an installer and everything works out of the box. It comes with very interesting code inspections, which spotted things that PyLint never warned us about -- biggest issue we had was a method that wasn't implemented anywhere (and luckily nobody ever called). The code inspections also nag about PEP-8 compliance, which is a good thing to clean up the code if you're coming from a codebase that never cared too much about it. And if there's something you don't want, you can turn specific inspections off so it won't bother.
To me, it is visually very similar to Sublime Text (I use one of the "dark" themes, that I find visually less demanding than the others) and then there are the little things that help all arround, like the bar at the left of code, in between the editor and line numbers, that show the VCS diff in real time. This information is also on the right side, on a thinner bar that sits behind the scrollbar (which, I have to admit, feels weird at first), that also shows the inspections results and helps navigate the code.
The other big thing for me comes also from code analysis, and is the "go to definition" shortcut, that helped me many times to find the specific class/function definition I was looking for when we had to work with code from other teams that had the horrible habit of doing "from module import ". It may not seem too hard, but when you have 5 of those things, and you got to those modules and find the same thing, it's more than a nuissance.
I'm aware we don't use it to its fullest (its more oriented to web frameworks, like Flask and Django), but in our team it has helped a lot. I get the feeling that we are all working smoother since we adopted it, and that feeling is shared amongst the team.
It was hard to think of specific things to highlight, but I tried my best. Does this "quick review" help?
* It was actually called somewhere, but our tests and our clients had never triggered that codepath for about... 6 months I believe. Yes, this issue says something about us too (as a team, and our tests), but having the tool spot it for you helps a lot.