Hacker News new | past | comments | ask | show | jobs | submit login

Not PyCharm user, but IntelliJ IDEA, PhpStorm and WebStorm - they are from one family.

Most important things are:

1) Static errors analyzing. Saves a lot of time. Really, hundreds hours of time.

2) Code completion (VS users call it "IntelliSense").

3) Refactoring tools. You can change name of method in one place and IDE will change all usages of this method everywhere in code. It's extremely important.




I'll second all those points, especially the first one, but I'll add a word of caution. All of the points you mentioned require the IDE to parse all the code, not just the code you are writing at this moment. If it doesn't know the type of $foo, it can't tell what $foo->getModel() calls and therefore it can't rename that getModel(), for example. This means you have to be careful in projects using older frameworks or CMS. From recent experience, a great example of such an atrocious codebase is Magento:

- their method calls are excessively chained, which means a failure to analyse step 2 of the chain blocks analysis of all further chained calls

- their phpDoc either doesn't exist or is actively misleading at times

- they rely on magic methods all throughout the codebase without properly annotating them

- https://imgur.com/RMxWEgR


It's bad design of Magento and army of old PHP tools, with overuse of magic and dynamic typing.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: