Frage

Was ist für Skriptsprachen der effektivste Weg, eine Konsole bei der Entwicklung zu nutzen?Gibt es Möglichkeiten, mit einer Konsole produktiver zu sein als mit einer reinen Kompilierungs- und Ausführungssprache?

Klarstellung hinzugefügt:Ich denke eher an Ruby, Python, Boo usw.Sprachen, die für vollständige Apps verwendet werden, aber auch die Möglichkeit bieten, kleine Codeausschnitte in einer Konsole auszuführen.

War es hilfreich?

Lösung

Ich denke eher an Ruby, ...

Nun, für Ruby irb Die interaktive Eingabeaufforderung ist ein großartiges Werkzeug, um etwas Einfaches zu „üben“.Hier sind die Dinge, die ich über den IRB erwähnen werde, um Ihnen eine Vorstellung von der effektiven Verwendung zu geben:

  • Automatisierung.Du darfst a .irbrc Datei, die beim Start von irb automatisch ausgeführt wird.Das bedeutet, dass Sie Ihre Lieblingsbibliotheken laden oder dies tun können was auch immer Sie möchten Ruby automatisch vollständig nutzen.Um zu sehen, was ich meine, schauen Sie sich einige davon an dotfiles.org.

  • Autovervollständigung.Das macht das Schreiben von Code sogar einfacher.Können Sie sich nicht an die String-Methode zum Entfernen von Zeilenumbrüchen erinnern? "".ch<tab> erzeugt Hacken und Knabbern. NOTIZ:Sie müssen die Autovervollständigung für IRB selbst aktivieren

  • Teilen und erobern.irb macht die kleinen Dinge wirklich einfach.Wenn Sie eine Funktion zum Bearbeiten von Zeichenfolgen schreiben, spart die Möglichkeit, den Code interaktiv direkt in der Eingabeaufforderung zu testen, viel Zeit!Sie können beispielsweise einfach irb öffnen und mit der Ausführung von Funktionen für eine Beispielzeichenfolge beginnen und schon haben Sie funktionierenden und getesteten Code für Ihre Bibliothek/Ihr Programm parat.

  • Lernen, Experimentieren und Hacken.So etwas würde in C/C++, sogar in Java, sehr lange dauern, um es zu testen.Wenn Sie versuchen würden, sie alle auf einmal zu testen, kann es zu einem Seg-Fehler kommen und Sie müssen von vorne beginnen.

    Hier lerne ich gerade, wie das String#[] Funktion funktioniert.

    joe[~]$ irb
    >> "12341:asdf"[/\d+/]
    # => "12341"  
    >> "12341:asdf"[/\d*/]
    # => "12341"  
    >> "12341:asdf"[0..5]
    # => "12341:"  
    >> "12341:asdf"[0...5]
    # => "12341"  
    >> "12341:asdf"[0, ':']
    TypeError: can't convert String into Integer
      from (irb):5:in `[]'
      from (irb):5
    >> "12341:asdf"[0, 5]
    # => "12341"  
    
  • Testen und Benchmarking.Jetzt sind sie schön und einfach durchzuführen. Hier ist jemandes Idee, Unix zu emulieren time Funktion für schnelles Benchmarking.Fügen Sie es einfach zu Ihrem hinzu .irbrc Datei und sie ist immer da!

  • Debuggen - Ich habe das selbst nicht oft verwendet, aber es besteht immer die Möglichkeit, Code zu debuggen so was.Oder ziehen Sie Code heraus und führen Sie ihn im IRB aus, um zu sehen, was er tatsächlich tut.

Ich bin mir sicher, dass mir einige Dinge fehlen, aber ich habe meine Lieblingspunkte getroffen.Bei Shells gibt es wirklich keine Einschränkung, Sie sind also nur durch das eingeschränkt, was Sie sich vorstellen können.Ich habe fast immer ein paar Granaten im Einsatz.Bash, Javascript und Rubys IRB, um nur einige zu nennen.Ich benutze sie für viele Dinge!

Andere Tipps

Ich denke, es hängt von der Konsole ab.Der Nutzen einer CMD-Konsole unter Windows ist im Vergleich zu einer Powershell-Konsole geringer.

Sie haben nicht gesagt, welches Betriebssystem Sie verwenden, aber unter Linux habe ich einen Fenstermanager mit Registerkarten verwendet (wmii) seit etwa einem Jahr und es hat die Art und Weise, wie ich Anwendungen nutze – Konsolen oder andere – radikal verändert.

Ich habe oft vier oder mehr Konsolen und andere Apps auf einem virtuellen Desktop und mit wmii muss ich mich nicht mit der Größenänderung von Fenstern herumschlagen, um alles genau richtig auszurichten.Ich kann sie ganz einfach in vertikalen Spalten neu anordnen, sie vertikal stapeln, ihnen den gleichen Anteil an vertikalem oder horizontalem Raum zuteilen und sie zwischen den Bildschirmen verschieben.

Angenommen, Sie öffnen zwei Konsolen auf Ihrem Desktop.Sie würden Folgendes erhalten (mit Entschuldigung für das Cronkey-Artwork):

 ----------------
|                |
|       1        |
|                |
 ----------------
 ----------------
|                |
|       2        |
|                |
 ----------------

Jetzt möchte ich sie Seite an Seite haben.Ich gebe in Fenster 2 SHIFT-ALT-L ein, um es nach rechts zu verschieben und zwei Spalten zu erstellen:

 -------  -------
|       ||       |
|       ||       |
|   1   ||   2   |
|       ||       |
|       ||       |
 -------  -------

Jetzt könnte ich eine andere Konsole öffnen und bekommen

 -------  -------
|       ||   2   |
|       ||       |
|       | -------
|   1   | -------
|       ||   3   |
|       ||       |
 -------  -------

Dann möchte ich Konsole 3 vorübergehend in voller Höhe anzeigen, also drücke ich darin ALT-s und erhalte:

 -------  -------
|       | -------
|       ||       |
|   1   ||   3   |
|       ||       |
|       ||       |
 -------  -------

Die Konsolen 2 und 3 sind jetzt gestapelt.

Ich könnte auch Windows-Tags vergeben.Beispielsweise könnte ich in Konsole 2 ALT-SHIFT-twww+dev sagen und diese Konsole wäre auf den virtuellen Desktops „www“ und „dev“ sichtbar.(Die Desktops werden erstellt, wenn sie noch nicht vorhanden sind.) Noch besser: Die Konsole kann auf jedem dieser Desktops in einer anderen visuellen Konfiguration (z. B. gestapelt und im Vollbildmodus) vorliegen.

Wie auch immer, ich kann den Fenstermanagern mit Registerkarten hier nicht gerecht werden.Ich weiß nicht, ob es für Ihr Umfeld relevant ist, aber wenn Sie die Chance bekommen, diese Arbeitsweise auszuprobieren, werden Sie wahrscheinlich nicht zurückblicken.

Ich habe meiner Tastenkombination „Strg-Umschalt-C“ eine Tastenkombination hinzugefügt, um meine Visual Studio 2008-Konsole aufzurufen.Dies allein hat mir unzählige Sekunden gespart, wenn ich eine DLL registrieren oder einen anderen Befehl ausführen musste.Ich kann mir vorstellen, dass Sie, wenn Sie dies mit einem anderen Befehlstool nutzen, möglicherweise eine enorme Produktivitätssteigerung erzielen.

Machst du Witze?

In meiner Linux-Umgebung ist die Konsole mein Lebenselixier.Ich beherrsche Bash-Scripting, daher ist eine Konsole für mich so, als würde man in einer REPL für Python oder Lisp sitzen.Sie können im wahrsten Sinne des Wortes alles tun.

Eigentlich schreibe ich Tools, die mein Team in Bash verwendet, und die Konsole ist der perfekte Ort für diese Entwicklung.Ich brauche eigentlich nur einen Editor als Hintergrundspeicher für die Dinge, die ich herausfinde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top