it-swarm-eu.dev

Was rechtfertigt die Verwendung eines IDE gegenüber einem Standardeditor)?

Ich benutze meinen bevorzugten Texteditor (vim, nano, gedit, wähle dein Gift) viel häufiger als jeder andere IDE in letzter Zeit).

Nachdem ich bemerkt hatte, dass meine Ide-Verknüpfungen staubig wurden, begann ich darüber nachzudenken und fragte mich: Was rechtfertigt die Verwendung eines IDE für Sie im Gegensatz zu einem Texteditor?

Welche Gründe hätten Sie für nicht, wenn Sie ein IDE] verwenden und sich lediglich auf einen Editor verlassen?

39
Chris

Das I: Integration. Ein guter Texteditor ist zwar gut zum Schreiben von Code geeignet, aber der größte Teil Ihrer Programmierung wird nicht für das Schreiben aufgewendet. Es wird mit Testen und Debuggen verbracht, und dafür soll Ihr Texteditor in Ihren Compiler und Ihren Debugger integriert werden. Das ist die größte Stärke einer IDE.

70
Mason Wheeler

Dies sind meine Lieblingsfunktionen meiner Lieblings-IDE IntelliJ, die ich gerne für Java, PHP, Javascript, HTML und sogar ActionScript verwende.

  • Fehlerprüfung - Wie bei der Live-Rechtschreibprüfung auf Code. Unbedingt erforderlich.
  • Code Navigation - Ctrl+click Für eine Funktion, Variable, Typ, um zur Definition zu gelangen. (IntelliJ ist sehr gut in allen oben genannten Sprachen)
  • Code-Vervollständigung - Ich verwende ständig Ctrl+space, Um den benötigten Klassen- oder Methodennamen einzugeben. Dies beschleunigt das Codieren einer Tonne und hilft sogar dabei, Fehler zu erkennen, bevor sie auftreten, wenn auf etwas, das Sie benötigen, aus dem Kontext, in dem Sie sich befinden, nicht zugegriffen werden kann. IntelliJ wird es sogar tun helfen Sie beim Erweitern von Akronymen - geben Sie NPE ein, drücken Sie Ctrl+space und es werden "NullPointerException", "NoPageError" usw. angezeigt. Wenn Sie Alt+enter drücken, um automatisch das import hinzuzufügen, ist das wirklich nett zu.
  • Codegenerierung - Generieren Sie Getter und Setter, implementieren Sie Methoden von einer Schnittstelle mit ein paar Klicks.
  • Sehr gut Codefärbung - IntelliJ färbt nicht nur das Standardschlüsselwort, die Zeichenfolge, die Variablennamenfärbung, sondern färbt auch Mitgliedsvariablen, lokale Variablen und Parameter. In ActionScript wird eine Variable, die eigentlich ein Setter/Getter ist, wie eine Funktion gefärbt.
  • Refactoring - Das fehlerfreie Umbenennen ist das größte. IntelliJ ist sehr gut darin, selbst Setter und Getter oder String-Verwendungen umzubenennen. Natürlich gibt es Regex-basiertes Suchen und Ersetzen, wenn Sie es benötigen, und eine Option "Groß-/Kleinschreibung beibehalten", mit der Sie "myNumber", "MyNumber" und "MYNUMBER" durch "myString", "MyString" und "MYSTRING" ersetzen können. in einer Operation
  • Integration der Versionskontrolle - Wir verwenden SVN und mein Favorit IDE VC Features können Klassen ohne erstellen, löschen, verschieben) Denken Sie an SVN, das einfache Durchsuchen des Verlaufs, ein sehr gutes Diff-Tool, eine gute Zusammenführungsfunktion und das Kommentieren von Dateien (zeilenweiser Verlauf) im Editor.
  • Importieren von Abhängigkeiten - Wenn Sie sich auf eine Bibliothek eines Drittanbieters verlassen, für die Sie die Quelle haben, können Sie zum Referenzieren, Debuggen usw. einfach zum Code navigieren.
  • Smart Typing - Einfügen von Code und automatisches Einfügen an der rechten Tabulatorposition, automatische Vervollständigung von Endklammern, Klammern, Anführungszeichen usw.
  • Ein sehr guter Testläufer für JUnit, FlexUnit, PHPUnit
  • Debugging - natürlich. Debugs JBoss, Jetty, sogar Flash fehlerfrei. Strg + Klick auf Stapelspuren, um direkt zum Code zu gelangen.

Dinge wie die Code-Färbung, die Sie vielleicht für selbstverständlich halten, aber eine gute Code-Färbung ist wie eine periphere Sicht - Sie können sich auf wichtige Dinge konzentrieren, ohne diesen Sekundenbruchteil zusätzlich zu benötigen, um das vollständige Wort zu identifizieren.

IntelliJ verwendet sogar Ctrl+space, Um Variablennamen vorzuschlagen. Wenn Sie in Java eine neue EventMessageItem-Variable deklarieren und Ctrl+space Drücken, werden "eventMessageItem", "eventMessage", "item" usw. vorgeschlagen.

All diese Dinge geben mir mehr Zeit , um über meinen Code und meine Architektur nachzudenken, und weniger über das Korrigieren der Formatierung, den Umgang mit dem Dateisystem und das Reparieren von Kopien -und Fehler einfügen, zwischen Anwendungen wechseln, Dokumentation aufspüren usw. usw. Ich weiß nicht, wie Sie zu dieser Art von Produktivitätssteigerung nein sagen können.

49
Nicole

IDEs verstehen Ihren Code viel besser als ein Editor. Dies ermöglicht zum Beispiel das Vervollständigen und Umgestalten von Bezeichnern, was für ausführliche Sprachen wie Java ist ein von Gott gesendeter,

21
user1249
[To the IDE] You had me at intellisense/autocomplete
18
JohnFx

Produktivität. Gibt es eine andere Rechtfertigung, die Sinn macht? Für mich ein gut gestaltetes IDE, das viele der Funktionen, die ich beim Programmieren ausführe, zentralisiert - Code erstellen und bearbeiten, Quellcodeverwaltung verwenden, debuggen, mit Projektmanagement-Tools interagieren, mit kommunizieren andere Programmierer, die Dokumentation erstellen, automatisierte Tests ausführen - reduzieren die Prozessreibung drastisch, was meine Produktivität verringert.

Auch wenn ich das Gefühl habe, dass ich wissen muss, wie man jedes Werkzeug einzeln verwendet, möchte ich es nicht müssen. Zumindest für mich ist ein Rechtsklick dem Öffnen einer CLI und dem Tippen unendlich vorzuziehen.

Ich habe viele verwendet, aber die IDEs, zu denen ich immer wieder zurückkehre, sind Visual Studio, Wing IDE und NetBeans. Alle erhöhen den Zeitaufwand für die Programmierung erheblich.

14
Adam Crossland

In der Vergangenheit boten IDEs unübertroffenen Komfort auf einem Single-Tasking-Computer. Mein erster C-Compiler erforderte die folgenden Schritte im Zyklus zum Bearbeiten, Kompilieren und Ausführen:

  • Starten Sie den Editor
  • Programm bearbeiten
  • Programm speichern, Editor beenden
  • Programm kompilieren
  • Kompiliertes Programm zusammenstellen
  • Link kompiliertes und zusammengestelltes Programm
  • Programm ausführen

auf meinem CP/M-System. (Ich hätte viel davon als Batch-Programm automatisieren können, wenn meine Festplatten größer gewesen wären.)

Als ich Turbo Pascal bekam, war ich erfreut, den Editor beim Kompilieren und Debuggen verfügbar halten zu können.

Ich glaube, das hat IDEs in erster Linie populär gemacht.

9
David Thornley

Wenn Sie in LISP codieren, verfügt Emacs über Intellisense-ähnliche Funktionen wie das Nachschlagen von Methodenparametern und die automatische Vervollständigung. Sie können also sagen, dass es sich um die ursprüngliche IDE handelt. Es ist auch schön, ein Programm für mehrere Aufgaben verwenden zu können (Bearbeitung im Allgemeinen, Shell/Eingabeaufforderung, Lesen von Nachrichten).

Im Allgemeinen scheint die Frage zwischen Editor und IDE] von der Programmiersprache abzuhängen. Nach dem, was ich gesehen habe, Ruby und Haskell-Codierer zum Beispiel) scheinen ihren bevorzugten Texteditor zu bevorzugen.

7
Larry Coleman
  • One-Click-Kompilierung
  • Debuggen
  • Codevorlagen
  • Code-Vervollständigung
  • Integration in Versionskontroll- und Refactoring-Tools
  • Einfachere Unit-Tests

um ein paar zu nennen

4
ysolik

Ich denke, die Antwort wird sehr davon abhängen, welche Programmiersprache Sie verwenden und wie gut Sie darin sind. Für Sprachen wie Java an IDE ist ein Muss, wenn Sie etwas Ernstes tun. Überall dort, wo es um Skriptsprachen wie JS oder Ruby IDES sind nicht sehr nützlich.

Ich verwende Notepad ++ und eine Reihe von Shell-Skripten (für Backups, Git-Commits) für meine Entwicklung und es funktioniert einwandfrei.

3
Eastern Monk

Einige Argumente für "Redakteure":

  1. Es gibt Fälle, in denen ein IDE noch nicht entwickelt wurde oder niemals entwickelt wird).
  2. Mit einem Editor können Sie Änderungen "schneller" und chirurgischer vornehmen.
  3. Es benötigt viel weniger Ressourcen (so einfacher, viele offene gleichzeitig zu verwenden)
  4. Weil dies der einzige Weg ist, um einige Probleme wie die beschriebenen zu lösen hier .
  5. (persönlich) Manchmal, wenn ich alles tippen muss, arbeite ich mehr mit meinem Bewusstsein und bin mehr mit dem beschäftigt, was ich schreibe. Oft habe ich zum Beispiel einen Rechtschreibfehler in einer Methode (formaqString) gefunden, der mit einer IDE unbemerkt geblieben wäre.
  6. Es macht es einfacher, nur mit der Tastatur zu arbeiten (Geschwindigkeit/Fluss)
  7. Mentalität der Verwendung von Makros oder anderen Zeitersparnissen.

Ich benutze jeden Tag ein IDE, um zu arbeiten, sonst ist es schwierig, Java/C # zu schreiben.

(2) im Vergleich zu (3): Grundsätzlich nur die Option, Dateien remote (über SSH/Remotedesktop) zu bearbeiten und minimale Änderungen an der Konfiguration oder den Dateien eines entfernten Servers vorzunehmen.

Ich verwende die IDE zum Testen/Debuggen/Integrieren und KEDIT zum Bearbeiten, weil die IDE) ernsthaft mangelhaft an Bearbeitungsfunktionen ist.
Da .NET IDE externe Änderungen erkennt, muss ich nur im Editor speichern und die Aufforderung zum erneuten Laden der Quelle akzeptieren. Dadurch kann ich meine Bearbeitung optimieren und Debugging-Funktionen zur gleichen Zeit.
Für andere IDEs verwende ich KEDIT als Vorlagenprozessor und Quellensuchprogramm und kopiere diese Quelle in die IDE.

2
Dave

Abhängig von Ihrer Sprache enthalten einige IDEs auch visuelle Form-/Fensterdesigner.

Obwohl darauf hingewiesen werden sollte, ist die Linie zwischen dem Texteditor eines Programmierers und einem IDE nicht genau definiert). Viele Editoren können erweitert werden, um das Kompilieren, Vervollständigen von Code, Debuggen usw. zu übernehmen.

2
GrandmasterB

Für IDE:
- Erweiterte Funktionen sind sofort einsatzbereit.
- Einige Funktionen sind für Ihr Framework so spezifisch, dass Editoren keine Entsprechung haben.

Für den Herausgeber:
- Halten Sie Ihre Hände auf der Tastatur.
- Ihre Entwicklungsumgebung ist auf allen Systemen gleich
- Besseres Scripting für Ihren Editor
- Einige Funktionen eines IDE sind mit externen Tools oder Skripten verfügbar. (Intellisense, gehe zur Definition, finde Referenzen)

1
mike30

Kurze Lernkurve. Das ist es.

0
nate c

Der einzige, den ich wirklich empfehlen würde, ist der Debugger. Ein IDE ist wirklich ein Editor mit einer Menge anderer hinzugefügter Gubbins, aber wenn Sie kompilieren können, indem Sie make (oder Pfeil nach oben + Eingabe) in eine Eingabeaufforderung eingeben, dann tun Sie nicht - Need eine IDE. Wenn Sie sich für SCM festlegen können, indem Sie mit der rechten Maustaste in den Explorer klicken und den richtigen Menüpunkt auswählen, benötigen Sie keine IDE.

Jetzt weiß ich, dass einige Leute Dinge wie Refactoring-Unterstützung benötigen (schreiben Sie Ihren Code gleich beim ersten Mal richtig :)) oder einen integrierten GUI-Designer (aber selbst dann verwende ich mit Visual Studio Expression, um meine GUI-Arbeit zu erledigen, nicht die beschissene XAML-Unterstützung in VS ) und viele Leute brauchen Intellisense und Autocomplete (besonders für ausführliche Sprachen wie Java und C #, die gottesfürchtig lange Namen haben).

Für mich ist der GUI-Debugger der einzige wirklich gute Grund, die IDE zu verwenden. Ich benutze immer noch einen 'Kommandozeilen'-Debugger (na ja, windbg), aber für den Alltag ist es der in VS eingebaute.

0
gbjbaanb

Eine IDE bietet Vorteile. Nicht alle Sprachen haben eine umfassende IDE, um wirklich den Ausschlag zu geben, oder es könnte unerschwinglich schwierig sein, eine für diese Sprache zu erstellen. Gründe, warum eine IDE gewünscht wird? Beginnen wir mit diesen:

  • Die Sprache verfügt über eine umfangreiche Standard-API, die in IDE Popups) die Entwicklung beschleunigen kann.
  • Es gibt viel Kesselplattencode. (Erzwungener Versuch/Fang, Getter/Setter usw.)
  • Autocomplete kann Ihre Codierungsanforderungen genau erfüllen
  • Ihre Spracheinheits-Testsuite ist in diese IDE integriert.
  • IDE ist sich bewusst und unterstützt zahlreiche gängige Sprachbibliotheken in Bezug auf Best Practices.
  • Plugins verfügbar, um die Arbeit mo'betta zu machen
  • Es ist nicht so schwer, dass es Ihr System verlangsamt
  • Hochintegrierter Debugger? Das hilft.

Das Problem ist, dass nicht alle Sprachen durch eine umfassende IDE wirklich einen großen Produktivitätsgewinn erzielen. Ich verwende IDEs für einige meiner Arbeiten (Java, C #), aber nicht für andere (Python, Ruby, Coldfusion). Es ist wirklich alles ein Balanceakt. Einige Sprachen erfordern einfach keine so umfassende Suite.

Gibt es IDEs für jeden? Sicher. Benötigen Sie immer einen? Nicht wirklich.

0
Rig