Maciej Puchalski: My Five Favorite NetBeans IDE Features!
Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Maciej Puchalski. -- NetBeans team.
I am Maciej Puchalski. I have used NetBeans IDE extensively throughout my studies and career as a programmer. I am a student at the Polish University of Białystok.
My job focuses on the development of various applications in various environments and languages – including the use of NetBeans IDE, besides other IDE’s. During my studies, I have managed to become a member of the team that develops "MobiUwB", which is a University Android app, helpful for students and their studies.
I would like to share with you my favorite NetBeans top 5 features, and I bet you won’t be surprised by (at least) some of them!
1. NetBeans Existence. That is, the sole fact that such an awesome IDE exists is, in itself, a big feature for me! It is promoted and produced by Oracle, the developers of the Java language themselves – isn’t that the most encouraging fact among all NetBeans characteristics? The fact that NetBeans is written in Java makes a valid statement: It is Java, for Java.
2. Memory efficiency. The fact that I can effectively use NetBeans IDE on my netbook is a blast.
What is more, before I changed some parameters in netbook, I used an older version of NetBeans to get it working even more smoothly. Now I don’t need that old version at all. The newest one runs quite smoothly, especially with SSD drive.
3. NetBeans Platform. This feature allows companies to create new software based on raw NetBeans. This makes me try their software because when I see that a piece of software is based on NetBeans I am sure that it will include most NetBeans features, which is great.
Worth mentioning here is jMonkeyEngine SDK – an IDE which I use to develop my Master’s Degree in the jMonkeyEngine game engine which is bundled with it. My favorite features with a completely new Java system, all in one download.
I did not develop anything in NetBeans Platform… yet.
4. Refactoring Support. This feature is just great. It allows a developer to do wonders with his/her code, flawlessly and without any changes to the internal code logic. Every single aspect of refactoring in NetBeans is well thought-out and precise in terms of finding what it is supposed to find. For example, renaming a variable will always find all usages of such variable, without any exception (pun intended).
Also I have encountered a problem, which was solved pretty much flawlessly by refactoring. It turned out that my Master’s degree lacked one class between "BaseComponentModel" and "NPCComponentModel" in the inheritance tree. These were quite well implemented, so I knew that making this class ("CreatureControlModel") could be problematic. Then I searched through NetBeans refactor options and picked up "Extract Superclass". Everything else then was too obvious to even describe – clicked on a few checkboxes, thought out which methods should be abstract and clicked “Refactor”.
However, Refactoring in NetBeans will not take into consideration the existence of code folds (at least most of the time) – and that is in my opinion its main flaw. My personal wish to NetBeans Team would be to make Editor Folds support even better, especially with Refactoring moves.
5. Editor folds. This shiny feature makes my perfectionistic nature very happy. It allows me to organize my code in a way that makes me satisfied and kilometers of my code can be collapsed.
Especially useful for those great generated accessors (these are generated by NetBeans “Encapsulate Fields” refactor option). Combined with custom class templates, this tool is really useful in terms of organization and readability of code (along with customization).
Try NetBeans, this IDE is totally worth it!
Do you and your colleagues also want to share your team's favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.