Heute entwickle ich auf einem ziemlich komplexen Computer, es hat mehrere Kerne, SSD-Laufwerke und was nicht. Trotzdem mache ich die meiste Zeit, in der ich den Computer programmiere, mühelos nichts. Wenn ich ein etwas komplexes Projekt kompilieren und ausführen / bereitstellen muss, dauert es bestenfalls noch ein paar Sekunden. Warum? Warum kann ich in Visual Studio nicht F5 drücken und meine Anwendung sofort starten / bereitstellen, da wir immer mehr im "Zeitalter des Augenblicks" leben?
Ein paar Sekunden klingen vielleicht nicht so schlecht, aber es ist immer noch kognitive Reibung und Zeit, die sich summieren, und ehrlich gesagt macht das Programmieren weniger Spaß. Wie kann die Kompilierung also sofort erfolgen?
Nun, die Leute neigen dazu, Dateien in verschiedenen Assemblys zu bearbeiten. Was wäre, wenn Visual Studio / The IDE ständig alles kompiliert / und erstellt, was ich geändert habe, wann immer es angebracht erscheint. Zum Teufel, wenn sie wirklich fortgeschritten sein wollen, können sie eine klassenbezogene Zusammenstellung machen. Die Kompilierung funktioniert möglicherweise nicht, kann jedoch im Hintergrund nichts bewirken (außer dem Hinzufügen von Fehlermeldungen zum Fehlerfenster).
Sicherlich könnte der heutige Computer ein oder zwei Kerne für diese Aufgabe verwenden, und wenn jemand dies als störend empfand, könnte dies optional deaktiviert werden. Ich weiß, dass es wahrscheinlich tausend technische Probleme und ausgefallene Schattenkopien gibt, die gelöst werden müssten, damit dies nahtlos und praktisch ist, aber es würde die Programmierung auf jeden Fall nahtloser machen.
Gibt es einen praktischen Grund, warum dieses Szenario nicht möglich ist? Wäre es zu langwierig, ständig Binärdateien zu schreiben? Konnten Assemblys nicht im Speicher gehalten werden, bis sie bereitgestellt / ausgeführt wurden?
quelle
Antworten:
Eclipse kompiliert und erstellt automatisch. Vielleicht möchten Sie überprüfen, wie sie es tun. Es ist Open Source. Ich denke, es kompiliert, wann immer Sie eine Datei speichern.
quelle
Haben Sie jemals darüber nachgedacht, wie viele Tastenanschläge Sie ausführen, bevor Sie eine Datei in einen Zustand versetzen, in dem sie kompiliert werden kann? Schauen Sie sich im Ernst an, was passieren würde, wenn Sie versuchen, Klasse f, Klasse fo, Klasse foo usw. zu kompilieren. Ich würde fragen, wie gut Sie das durchdacht haben, als Sie etwas von Grund auf neu geschaffen haben, da ich sehen konnte, dass dies wirklich sehr schmerzhaft ist.
quelle
Visual Studio hat die automatische Kompilierungsfunktion nicht bereitgestellt. Aber ja, einige IDEs wie Eclipse kompilieren automatisch, wenn Sie eine Datei speichern. Hoffe, in zukünftigen Versionen von Visual Studio wird Microsoft diese Funktion hinzufügen.
quelle
Ratet mal, was ... Wenn Sie eine moderne IDE verwenden, die Warnungen ausgibt, wird eine Hintergrundkompilierung durchgeführt. So weiß es, dass diese Elemente nicht so kompiliert werden, wie sie sind.
quelle
Sie können ein Projekt jederzeit in vorkompilierte Komponenten aufteilen. Ich bevorzuge es, wenn mein Computer auf Befehl kompiliert. Die kognitive Reibung eines Mannes ist die Zeit eines anderen Mannes zum Nachdenken und zum Kaffeetrinken.
quelle
Wenn Sie Visual Studio verwenden und in C # oder VB Reshaper entwickeln, können Sie dies für Sie tun. http://www.jetbrains.com/resharper/ Ich spare viel Zeit, indem ich alle Stellen kenne, an denen meine Änderungen an einer Benutzeroberfläche den Code beschädigen, ohne ihn manuell neu kompilieren zu müssen.
(Auch ich denke, Resharper ist aus vielen anderen Gründen die Scheiße.)
quelle
Ich weiß nicht, ich mag es, Dinge zu kompilieren. Es ist so, dass ich meinen Code verwende und dem Computer sage: " Hah! Mal sehen, wie du DIESES ablehnst! "
Dann erhalte ich einen Kompilierungsfehler, behebe ihn und frage : " Hah! Jetzt wollen wir sehen, wie Sie DIESES ablehnen! "
Dann kompiliert es und ich nehme einen Kaffee. Fühlt sich gut an. :)
quelle
Hinweis: Da dies aus meiner Erfahrung mit Netbeans (Java) stammt, gilt dies möglicherweise nicht für Visual Studio
TMK Dies geschieht etwas im Hintergrund, wenn Sie mit der Bearbeitung der Datei beginnen. Wenn die IDE nicht jeden einzelnen Kompilierungsfehler kennt und nicht weiß, wie man ihn erkennt, gehe ich davon aus, dass sie die Klasse im Hintergrund kompiliert und dann alle Fehler meldet.
Das Problem ist, wenn Sie Ihr gesamtes Projekt erstellen möchten. Manchmal denke ich, dass mit dieser "Live" -Kompilierung nicht alle Fehler abgefangen werden können, sodass einfach alles neu erstellt wird. Es kann auch sein, dass die live kompilierte Klasse zusätzliche Informationen enthält, die die IDE benötigt, die aber nicht in einer Binärdatei verteilt werden sollten.
quelle