Editors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)



Similar documents

MICROSOFT OUTLOOK 2010 WORK WITH CONTACTS

Microsoft Access 2010 handout

Outlook . User Guide IS TRAINING CENTER. 833 Chestnut St, Suite 600. Philadelphia, PA

Module One: Getting Started Opening Outlook Setting Up Outlook for the First Time Understanding the Interface...

For Introduction to Java Programming, 5E By Y. Daniel Liang

Microsoft Word 2011: Create a Table of Contents

Appointment Scheduler

Maximizing the Use of Slide Masters to Make Global Changes in PowerPoint

Styles, Tables of Contents, and Tables of Authorities in Microsoft Word 2010

Outlook Tips & Tricks. Training For Current & New Employees

Basic Microsoft Excel 2007

Microsoft Office Access 2007 Basics

Outlook Managing Your Items

Developing with Android Studio

WINDOWS 7 MANAGE FILES AND FOLDER WITH WINDOWS EXPLORER

Content Author's Reference and Cookbook

SiteBuilder 2.1 Manual

WebFOCUS BI Portal: S.I.M.P.L.E. as can be

TheFinancialEdge. Fast! Guide

Chapter 14: Links. Types of Links. 1 Chapter 14: Links

Microsoft. Outlook 2007 Calendar Management Tools For. Jerry Maletsky Dash Designs Consulting Technology Training And Consulting

How to Edit an . Here are some of the things you can do to customize your

Web Intelligence User Guide

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9.

WHAT S NEW IN OUTLOOK 2010 & HOW TO CUSTOMIZE IT

QUICK START GUIDE

Working with Windows Handout

ICP Data Entry Module Training document. HHC Data Entry Module Training Document

Advanced Presentation Features and Animation

Microsoft Access 2010 Part 1: Introduction to Access

MICROSOFT OUTLOOK 2010 READ, ORGANIZE, SEND AND RESPONSE S

Blackboard s Wikis Tool

Adding A Student Course Survey Link For Fully Online Courses Into A Canvas Course

Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ

Cleaning your Windows 7, Windows XP and Macintosh OSX Computers

What is OneDrive for Business at University of Greenwich? Accessing OneDrive from Office 365

How to get the most out of Windows 10 File Explorer

Microsoft Access Introduction

Tutorial 3. Maintaining and Querying a Database

Microsoft Office 2010

Lesson 07: MS ACCESS - Handout. Introduction to database (30 mins)

Using an Access Database

Outlook 2010 Essentials

Introduction to Microsoft Access 2010

PBA.pro Getting Started

Windows XP File Management

Help Desk Web User Guide

Writer Guide. Chapter 15 Using Forms in Writer

Microsoft PowerPoint 2010 Handout


Book Builder Training Materials Using Book Builder September 2014

Where do I start? DIGICATION E-PORTFOLIO HELP GUIDE. Log in to Digication

Excel Templates. & Quote/Invoice Maker for ACT! Another efficient and affordable ACT! Add-On by V

Introduction to Microsoft Access 2013

Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.

Version 7 Editor s Manual

Intellect Platform - Tables and Templates Basic Document Management System - A101

Outlook Exchange

Microsoft Excel 2013: Headers and Footers

Getting Started Guide. Chapter 14 Customizing LibreOffice

DaRIS portal visual user guide

A QUICK OVERVIEW OF THE OMNeT++ IDE

How to Configure Windows 8.1 to run ereports on IE11

WINDOWS 7 EXPLORE INTERNET EXPLORER 8

MicroStrategy Desktop

Access Tutorial 3 Maintaining and Querying a Database. Microsoft Office 2013 Enhanced

Notepad++ The COMPSCI 101 Text Editor for Windows. What is a text editor? Install Python 3

Eclipse with Mac OSX Getting Started Selecting Your Workspace. Creating a Project.

Tutorial 3 Maintaining and Querying a Database

Microsoft Outlook 2007 Calendar Features

Leading Adobe Connect meetings

How To Create A Document On A Pc Or Macbook

Outlook 2010 Desk Reference Guide

BusinessObjects: General Report Writing for Version 5

We re going to show you how to make a Share site. It takes just a few minutes to set one up. Here s how it s done.

WHAT S NEW IN OBIEE

Creating Personal Web Sites Using SharePoint Designer 2007

Using Adobe Dreamweaver CS4 (10.0)

Renovo Video Scheduler 7.0

Introduction to Microsoft PowerPoint

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

Kentico CMS 7.0 Intranet User's Guide

Access 2010: The Navigation Pane

Lotus Notes Client Version 8.5 Reference Guide

Chapter 6 Window Operations

Create a New Database in Access 2010

How to Edit Your Website

Web Ambassador Training on the CMS

Chapter 15 Using Forms in Writer

Browsing and working with your files and folder is easy with Windows 7 s new look Windows Explorer.

MICROSOFT WINDOWS NAVIGATION

MAS 500 Intelligence Tips and Tricks Booklet Vol. 1

KEYBOARD SHORTCUTS. Note: Keyboard shortcuts may be different for the same icon depending upon the SAP screen you are in.

State of Ohio DMS Solution for Personnel Records Training

itunes Song Library and/or Music CD Conversion Software Installation & Operational Instructions

Word 2010: Mail Merge to with Attachments

Transcription:

České vysoké učení technické v Praze Fakulta elektrotechnická Návrh Uživatelského Rozhraní X36NUR Editors Comparison (NetBeans IDE, Eclipse, ) May 5, 2008

Goal and purpose of test Purpose of this test is to compare three the most widely used IDEs (Integrated Development Environments) from the scope of usability its editors with focus on source code editing in Java language. Compared IDEs are NetBeans IDE, Eclipse and. Goal of this test is to find differences/similarities of tested editors. Analyze solutions from the scope of usability and decide which solution is the best. Based on the best solution give some advices and recommendations for NetBeans IDE. Versions of tested IDEs NetBeans IDE 6.1 (Sun Microsystems) Eclipse 3.3.2 (Eclipse contributors) 7.0.3 (JetBrains) Target user The target user for this test is junior Java programmer with advanced knowledge of programming. He knows Java language and basic libraries from Java API. He has experience with creating small projects with few packages and classes. He expects from IDE to make his work easier, increase his productivity and gives him comfort for developing. Cognitive walkthrough I choose a cognitive walkthrough as a usability inspection method. Every step made during test is evaluated by four main questions: Will the user try to achieve the effect that the subtask has? Does the user understand that this subtask is needed to reach the user's goal? Will the user notice that the correct action is available? E.g. is the button visible? Will the user understand that the wanted subtask can be achieved by the action? E.g. the right button is visible but the user does not understand the text and will therefore not click on it. Does the user get feedback? Will the user know that he has done the right thing after performing the action? Editors comparison is very specific type of test and some tasks could not be easily evaluated by this four questions. The most of actions and task are well designed and are proved by time. Keeping this in mind I will not answer on all of this questions in this work, but instead of that I will show good and bad designs used in IDEs and I will give recommendations and advices for NetBeans IDE. 2

1. Basic code editing 1.1 Code formating Format whole source Yes Yes Yes Format selected part only User's specific formatting of code Yes Yes Yes Yes Yes Yes All three IDEs support code formatting of whole source or of selected part only. They all allows user to set his specific formatting. Eclipse and NetBeans IDE There is no bad design found in Eclipse and NetBeans. All actions are available and the user clearly understand whole process and gets acceptable feedbacks. Every time the user of choose to reformat code the Reformat Code dialog appears on the screen. This dialog asks him if he want to reformat whole code or selected part only. This is not necessary, because editor can easily predict user's selection. If there is no selected part of source whole source should be reformatted. Otherwise the selected part should be reformatted. 1.1 Find/Replace Find Yes Yes Yes Replace Yes Yes Yes All IDEs supports finding and replacing with options like case matching, regular expressions etc. In functionality there are almost no differences between IDEs. Eclipse Eclipse has one common dialog window for both finding and replacing. With respect of fast accessibility of find function, this is not well designed. Another reason why this is not good to have finding dialog, is that the dialog itself overlaps editor and the user needs to move it outside first to see the code (see figure 1.1). 3

1.1 Find/Replace dialog in Eclipse has fast pop-up top bar for finding and special dialog window for replacing. This is very well designed because finding is very frequently used and needs to be fast accessible. NetBeans IDE NetBeans uses similar approach to except the pop-up bar is not on the top of editor's window but on the bottom of it. 1.2 Code completion All IDEs have same design for code completion. When the user invokes the code completion feature, a code completion box will appear, displaying a list of words that can complete the text typed in the editor. This behavior is provided by many other source code editors and there is no need to change anything. 4

Anyway there is one special feature brings to code completion. You could use CamelHump for searching in list of words that can complete the text (see figure 1.2). 1.2 "CamelHump" searching in 7.0 Recommendation for NetBeans IDE add CamelHump support for searching 1.3 Use hints Eclipse While some use hint is available the bulb icon will appear on editor's left side bar with line numbers on appropriate line. When user moves mouse cursor on the bulb the text with hint explanation will pop-up. Clicking on the bulb list of solutions is shown. User can click on one of them to solve situation. During whole process the user clearly understands what is happening and knows what to do next. There is no design issue. In there is also the bulb icon on editor's left side bar while some hint is available. The user must click on the icon to see the hint text (see figure 1.3). Even clicking on the text will show the list with solutions. Again the user can click on one of them to perform action. It is not a good idea that the user need to click on bulb icon to see the hint text. The rest of the process is user friendly and there are no other design issues. 5

1.3 Use hint in NetBeans IDE There is same design progress like in Eclipse. Like was written above this is designed very well and needs no change. 1.4 Macros Macros support Yes Yes No Macros editing Yes Yes No Eclipse Eclipse has no support for macros. starts (resp. stops) macro recording from menu Tools Start Macro Recording (resp. Stop Macro Recording). After recording is stopped the user is prompted by dialog to set the macro's name. Once the macro's name is set it is automatically added to menu Tools macro's name and user can anytime call the macro from here. The user can edit macro in Edit Macros dialog where he can delete and rename macro or remove any action from macro. Edit Macros dialog is in menu Tools Edit Macros. The bad design here is that the user cannot set the keyboard shortcut for the macro in this dialog. The only way to do this is to go to Settings Keymap Macros. NetBeans IDE There are two ways in NetBeans to start (resp. stop) macro recording. One way is from menu Edit Start Macro Recording (resp. Stop Macro Recording). The second and very easy to use way are 6

two icons in editor window's tool bar. After recording is done the user is prompted to set the macro's name and Editor Macros dialog is opened. The user can remove, rename, edit macro or set keyboard shortcut for it. There is another way to set shortcut for macro in menu Tools Options Keymap Editor Macros. This is designed very well since the user can edit shortcut for a macro on every of two places where he could expect to. Bad thing is that there is no way to run macro without setting a shortcut for it and then use it. Macros' editor called Editor Macros is only accessible from menu Tools Options Editor Macros. Good idea would be to add Editor Macros menu item to menu Edit and add Editor Macros icon to editor's window tool bar next to start and stop macro recording icons. Recommendation for NetBeans IDE add Editor Macros menu item to menu Edit add Editor Macros icon to editor's window tool bar next to macro recording icons add Run Macros sub menu to menu Edit. This sub menu will contain list of all available macros to run 2. Syntax highlighting All three IDEs supports syntax highlighting on a very high level. All of them allows user to change predefined colors by the way he likes it. I did not find any bad designs in syntax highlighting. I have got only one recommendation for NetBeans IDE. Words TODO, FIXME etc. in to do tasks should have bold font face because they need to call user 's attention. Maybe there could be option to colorize to do tasks by a different color than other comments. 3. Code navigation 3.1 Navigator Structured view Yes Yes Yes Filters Yes Yes Yes (inherited members filter missing) Quick search Yes Yes Yes Pop-up navigator No No Yes All tested IDEs have very good navigator with structured view support and number of very useful filters. There are no issues in design. 7

Eclipse has a sort of pop-up navigator (see figure 3.1), which NetBeans and IDEA have not. This is very good idea because user could keep his eyes focused on editor window and could not focus on the side navigator window. This approach is faster and very comfortable, especially when user has small display and his navigator window is closed. Recommendations for NetBeans IDE add pop-up navigator with quick search 3.1 Pop-up navigator in Eclipse 3.3.2 3.2 Tasks management List of tasks in active source file Yes Yes No List of tasks in project Yes Yes Yes Filtering Yes Yes Yes New task definition Yes Yes Yes In tasks management there are two different approaches tree view and list view. 8

Eclipse Eclipse has classic list view of tasks. It allows the user to sort tasks by any of available fields ('description', 'resource', 'path', 'location' and 'priority'). Eclipse is the only IDE which offers to define priority to every type of task. It is more accurate to sort tasks by its priority then sort it, for example by description. shows tasks as a tree view. Nodes are files (or you can switch to packages view) and leaves of the tree are tasks. It is good idea to see tasks grouped by files/packages but tree view is not good approach since when a project has many files with tasks, it is hard to move from one task to another. Another bad thing about IDEA is that there is only TODO task predefined in default settings. NetBeans IDE NetBeans has very similar approach to Eclipse, but unfortunately it does not support task priority. Unlike other two IDEs NetBeans shows syntax errors as an error tasks in task window. This is very good idea since you can see errors and other tasks altogether not in different window. Recommendations for NetBeans add option for defining priority to a type of task add field with package information (could be more useful than information about path) 4. Refactoring Find usages Yes Yes Yes Rename Yes Yes Yes Move Yes Yes Yes Safe delete Yes Yes No Eclipse When the user selects to rename some method (or class, attribute etc.) the identifier will be highlighted and the user can change its name. There is pop-up text Enter new name, press Enter to refactor and small arrow next to it. Clicking on this arrow invokes the pop-up menu with list of available actions like Refactor and Preview. Pressing enter key or choosing Refactor action will instantly perform refactoring. Clicking on preview will open new window with list of changes 9

which needs to be done to perform refactoring and two code listings (original code and refactored code) with highlighted changes. The user can see all changes and then confirm or cancel refactoring. The bad design here is that after renaming the user is prompted with text to press enter. He don't know that clicking on the small arrow will give him the chance to see the preview first. 4.1 Refactoring in Eclipse 3.3.2 After the user selects to rename the Rename dialog with input text field for new name and Refactor, Preview and Cancel button will be displayed. Refactor button will immediately perform refactoring. Preview button will open dialog with tree view of all changes need to be done. Clicking on any change will shows it in editor. Unlike in Eclipse there is no code listings with highlighted differences. I'd recommend the approach from Eclipse because the user has better view what will the refactoring affect. NetBeans IDE NetBeans offers the same Rename dialog. Preview is designed in very similar way as in Eclipse. It is good approach, but the Preview window is displayed as a part of the bottom panel in NetBeans IDE. This is wrong because this panel is very small to display it (see figure 4.2). Because of this the user needs to resize the panel every time before he can continue. 4.2 Refactoring in NetBeans 10

Recommendation for NetBeans IDE move Preview window to separate dialog or as a tab in editor's window 5. Automatic code generation Constructor Yes Yes Yes Setters/Getters Yes Yes Yes NetBeans IDE and has absolutely same design of automatic code generation. It is well designed and there is probably nothing to change. Eclipse has very similar design. It has a few more setting like insertion point where the code will be generated to and access modifiers. But these options are not so important and there is no need to implement them. 6. Conclusion Eclipse, and NetBeans IDE are the most widely used IDEs for Java. Their editors, one of the most important part, have very high quality, however, there is still a few issues in their design with respect to usability. I tried to find the most of them in this work and I gave recommendations how to solve them. 11