Difference between revisions of "RidgeRun Developer Manual/Editors"

From RidgeRun Developer Connection
Jump to: navigation, search
(Integrated Development Environment)
Line 45: Line 45:
 
* [https://atom.io Atom]
 
* [https://atom.io Atom]
 
* [https://www.eclipse.org/ide/ Eclipse]
 
* [https://www.eclipse.org/ide/ Eclipse]
 +
* [https://www.geany.org Geany]
 
* [https://www.sublimetext.com Sublime]
 
* [https://www.sublimetext.com Sublime]
 
* [https://developer.apple.com/xcode/ Xcode]
 
* [https://developer.apple.com/xcode/ Xcode]
Line 54: Line 55:
 
===Essential Features===
 
===Essential Features===
  
*Static Code Analysis
+
These features are considered indispensable in every modern IDE. If your selection does not seem to have the ability to do these (which I doubt), you should consider a different alternative.
 +
 
 +
====Static Code Analysis====
 +
 
 +
Formally called [https://en.wikipedia.org/wiki/Lint_(software) linting or [https://en.wikipedia.org/wiki/Lint_(software) running a linter].
 +
 
 
*Code Autocompletion
 
*Code Autocompletion
 
*Code Navigation
 
*Code Navigation

Revision as of 16:14, 20 April 2020




Previous: Development Tools Index Next: Editors/Emacs




Developer's IDE

The Integrated Development Environment (IDE) is probably the most fundamental tool of a developer. Similar to how a chef invests in a good set of knives or how a surgeon requires precision scalpels, the IDE can make a huge difference in the quality and efficiency of a programmer. Setting up these environments rarely is considered a waste, but an investment. A professional developer understands the importance of working with the right tools.

An IDE is set of tools integrated to make the development process more efficient. These are typically plug-ins, meaning that they may be independently installed, configured or removed by the user. The later allows the developer to customize it's environment according to his/her preferences (programmers are known to be proudly picky :)) Among these, the Code Editor (CE) is the core of the environment. Around it, several plug-ins add extra functionality such as integrations with version control system, debuggers, tests, static code analysis, etc...

Generally speaking, we recommend that every developer is fluent with, at least, two environments:

  • Console based Code Editor
  • Integrated Development Environment

Figure 1 shows an example of the two aforementioned environments.

Console Based Editor

A lightweight editor that opens within the terminal emulator. You'd typically use this for quick edits, or momentary remote editing. If a project will require you to remote edit as you primary (or very constantly) consider setting up a remote IDE instead.

Popular console editors include:

This is not your primary editor, however you should be fluent in it. Make sure you at least know your way around with:

  • Search and replace
  • Jump to line number
  • Copy, cut and paste (without explicit use of the mouse)
  • Several files in a single session (no need to close and re-open the editor)

Integrated Development Environment

The IDE is intended to be your primary development environment. It is expected that you invest time setting it appropriately, rarely an IDE is meant to be used out-of-the box. An environment properly configured speaks positively about the profesional maturity of the developer.

A list of popular IDEs (as per early 2020) include:

The choice and configuration of the IDE is a very personal one. Although RidgeRun understands and promotes this, we do have some expectations and recommendations on the final setup. The following sections detail these further.

IDE Features

Essential Features

These features are considered indispensable in every modern IDE. If your selection does not seem to have the ability to do these (which I doubt), you should consider a different alternative.

Static Code Analysis

Formally called linting or [https://en.wikipedia.org/wiki/Lint_(software) running a linter.

  • Code Autocompletion
  • Code Navigation

Desired Features

  • VCS Integration
  • Debugger Integration
  • Remote Editing (via SSH)
  • Auto-Indenter


Previous: Development Tools Index Next: Editors/Emacs