views:

115

answers:

4

I'm a largely self-taught front-end developer only just making the transition into back-end development in order to be able to say yes to more projects.

I've found eclipse to be my favourite text editor for javascript and php, but I'm conscious that it (and other IDEs) have a whole load of features which I don't know how to use, or why I should want to use them.

I'd really appreciate some pointers on why using such-and-such a feature of an IDE helps you work more efficiently, write better code etc..., and maybe some links to useful sources of information.

Cheers

edit - I'm already converted to using ftp features and code explorer/function lists

+1  A: 

I would always advise learning what goes on behind the IDE and then using the IDE.

Get familiar with:

  1. Build/Distribution processes (Like Make and others)
  2. How compilation works, what are the component processes
  3. How the IDE is generating things like autocomplete (scanning headers/source)
  4. version control, get familiar with it on the command-line. It will mean you can deal with issues/requirements not filled by the IDE.

Once you know what goes on behind the scenes for the language/environment you are programming in ... the IDE is a bit mundane, just a modular text-editor on steroids.

Good luck

Aiden Bell
+1  A: 

You may find eclipse tips such as these interesting. But if your objective is to "write better code" then I think you need to look elsewhere. Understand the language you are using better, understand design patterns and the reasons whey people apply them, study testing techniques. There's so much else to spend your time on. Truly working smarter is the objective.

djna
+1  A: 

Maybe this is obvious, but in my opinion class/function/variable name refactoring is among the most essential features of any IDE. Constant refactoring is one of the secrets of making good code.

Joonas Pulakka
A: 

That's a bit of a difficult question to answer since most modern IDEs offer such a wide range of features. From a general standpoint, I'd become familiar with hot key combinations for repetitive tasks (saving, building, code folding, etc.) and how to install/enable/disable add-ons and plug-ins. That will make you more efficient.

As Aiden mentions, knowing how to to a build from the command line/compilation in general will be useful as well as version control systems. Get familiar with GIT and Subversion.

The IDE will not make you write better code. For that, you're going to need practice and some time spent reading/listening to podcasts. Read Robert Martin's "Clean Code" for starters.

Additionally, spend the time to learn proper TDD and the toolset(s) available for your IDE.

Chuck