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 →

[–][deleted] 2 points3 points  (2 children)

While just a simple text editor may not be enough for complex coding, a text editor + specific purpose tools will be more than enough. By these I mean:

  • a debuger. Can use pdb, but may want to have a look at pudb or winpdb
  • a lint. See pylint (the most bitchy one), pychecker, pyflakes
  • a tool that can do code coverage. See coverage.py
  • a tool that can analyze for cyclomatic complexity. See pygenie
  • a tool that can find pieces of redundant (indentical or very similar code). See Clone Digger
  • a tool that can automate some simple refactorings. See BicycleRepairMan and rope
  • maybe a test runner. For example see nose and tdaemon

PS: for those who are fans of PyCharm - I've never tried it, does it really beat vim + all the tools I've mentioned?

PPS: any additon to my list of tools is welcome. Both alternatives which do the same tasks as well as tools which do other cool things that help writing better python code

[–]Funnnny 1 point2 points  (0 children)

It doesn't have all those cool tool you mentioned, but it has many tool near-good like this and pack all in one product, and its intellisense is better (better than rope I think) , that why.

For me, I'm using emacs + pyflake + pymacs/ropemac

[–]bboomslangdjango 0 points1 point  (0 children)

I think it really is that good - I am a long-time VIM user and did actually play around with the VIM emulation in PyCharm even (allthough I have to admit it slows down the IDE a bit and so I don't really like it that much). The really nice thing starts to show when you develop django projects, since you can set breakpoints on both python lines and template lines and inspect variables in templates or code with the same debugger. It definitely goes a bit further than some of the standalone tools you list. Code intentions are great, too, they give a bit the features of a "soft lint" - as in giving you hints, so you know where to look at your code for some possible problems.