Frage:
Wann ist es sinnvoll, den Code in eine Arbeit aufzunehmen?
Rhei
2015-01-28 21:58:12 UTC
view on stackexchange narkive permalink

Ich schreibe meine Master of Science-Arbeit und bin mir nicht sicher, ob ich einen Teil des von mir geschriebenen Codes hinzufügen soll: Es handelt sich nicht um richtige Programme, sondern eher um Eingabedateien, die einem kommerziellen Programm (Nastran) zugeführt werden sollen In meinem Bereich beliebt.

Meine Bedenken beziehen sich auf die Tatsache, dass ich keine Entdeckung mache, sondern nur die Dinge anwende, die ich beim Lesen des Handbuchs gelernt habe. Trotzdem denke ich, dass der Code die Mühe machen wird, die ich in die Arbeit gesteckt habe, um auch diese Sprache klarer zu lernen.

Ich würde vorschlagen, dass so etwas wie Dateneingabe für einen Anhang im Bereich der Informatik geeignet wäre.
Wann? Immer. Einschließlich der Eingabedateien. Alles.
Bitte geben Sie den Code an. CS-Papiere sind in der Regel ohne Code nicht lesbar.
Wenn es einen Code gibt, der für Ihren Prozess wirklich wichtig ist, sollte er in einem Float sein und kommentiert werden. Wenn es einen neuen Trick gibt, sollte ein Flussdiagramm verwendet werden, das den neuen Prozess beschreibt. Der vollständige Code sollte auf Github oder Bitbucket abgelegt und referenziert werden, unabhängig davon, ob es sich um "nur Vorverarbeitung" handelt. Vielleicht ein Kern? (http://www.labnol.org/internet/github-gist-tutorial/28499/)
@Navin Das hängt sehr vom Papier ab. Für die meisten CS-Artikel, die ich schreibe, ist einfach kein Code enthalten. Für viele der CS-Papiere, die andere Leute schreiben, gibt es so viel Code, dass das Papier dadurch viel zu lang wird. Und wer liest jemals Ausdrucke von mehr als ein paar Codezeilen?
Sechs antworten:
Brian Borchers
2015-01-28 22:08:55 UTC
view on stackexchange narkive permalink

Die Bereitstellung Ihres Codes zusammen mit Ihrer Abschlussarbeit kann für andere Forscher, die versuchen, Ihre Ergebnisse zu reproduzieren, sehr hilfreich sein. Ich würde Sie dazu ermutigen.

Sie sollten jedoch nicht einfach einen Ausdruck Ihres Codes in den Text der Arbeit einfügen, da dies es für jemanden schwierig (praktisch unmöglich) macht, den Code zu verwenden, den er aus einer gedruckten Kopie von erhält die These oder sogar eine .PDF der These. Sie sollten den Code vielmehr in ein Online-Repository (z. B. Github) einfügen, damit andere den Code aus dem Internet herunterladen können.

Ich dachte daran, alle Codes in einen Anhang aufzunehmen, um den Ergebnisfluss im Hauptteil der Arbeit nicht zu unterbrechen. Also werde ich dort auch den Link zur Downloadseite hinzufügen oder? Und noch etwas, sollte ich den Code kommentieren, um zu erklären, was ich getan habe, oder ihn nur zeigen?
Selbst das Ausdrucken des Codes in einem Anhang ist eine Verschwendung von Papier - nur ein Link zu dem Ort, an dem er heruntergeladen werden kann. Sie sollten Ihren Code immer kommentieren.
Mäßig kleine Codemengen können aus der PDF-Datei kopiert und eingefügt werden, wenn die für die Aufnahme verwendeten Pakete gut konfiguriert sind (was nicht immer trivial ist). Für größere Mengen ist das Einbetten (http://www.ctan.org/pkg/embedfile) der Quelldateien im PDF ein raffinierter Trick.
Ich stimme zwar zu, dass dies wahrscheinlich der am besten verwendbare Ansatz ist, es kann jedoch vorkommen, dass Sie gemäß den Bestimmungen für Abschlussarbeiten den Code - wenn er als Teil der Abschlussarbeit betrachtet werden soll - als Hardcopy auf einer DVD oder ähnlichem einfügen müssen. Sollte aber leicht zu überprüfen sein.
Ich würde es massiv nützlicher finden, einen Anhang zu haben, der auf ein stabiles Code-Repository verweist, und eine Beschreibung dessen, was der Code * tut *, als nur einen Code-Anhang zu haben.
Ken
2015-01-29 02:13:10 UTC
view on stackexchange narkive permalink

Die Antwort von @Brian Borchers ist solide und es klingt so, als würde sie in Ihrem Fall am besten zutreffen.

Wenn Sie jedoch einen besonders interessanten oder neuartigen Algorithmus zum Generieren Ihrer Eingabedateien verwendet haben (dh Sie hatten ungewöhnliche Einblicke, wie Sie Ihr Problem am besten lösen können, das anderen helfen könnte), können Sie zusätzlich zu Ihrer Verknüpfung Ihre Code für ein Online-Repository können Sie je nach Ablauf eine Pseudocode-Beschreibung dieses Algorithmus in Ihrem Hauptteil oder einen Anhang bereitstellen. (Wenn Sie nicht sicher sind, ob Ihr Prozess ausreichend interessant ist, fragen Sie Ihren Berater.)

O. R. Mapper
2015-01-29 03:20:26 UTC
view on stackexchange narkive permalink

In der Informatik bin ich sehr daran gewöhnt (und ermutige) Thesen, die bemerkenswerte Code-Schnipsel als Floats enthalten. Da diese Arbeiten praktisch unbegrenzten Platz bieten, ist die extreme Kürze der Papiere nicht erforderlich, und auf ein Konzept -Kapitel, in dem die Gründe für Entwurfsentscheidungen im entwickelten Konzept beschrieben werden, folgt normalerweise ein Kapitel "Implementierung ", in dem die implementierte Version ausführlich beschrieben werden kann, einschließlich (aber nicht beschränkt auf) Präsentationspräsentationen des Quellcodes.

In den meisten Fällen ist dies nicht bedeutet, dass ganze Quellcodedateien gedruckt werden sollen. Dies bezieht sich normalerweise auf einige Codezeilen oder einzelne Methoden, die einen bestimmten Algorithmus implementieren.

Bei Eingabe- / Ausgabedateien sind die Dinge ähnlich und möglicherweise sogar noch wichtiger als Codefragmente kann die Handhabung und tatsächliche Ausgabe eines Prototyps erklären, der im Rahmen der Arbeit entwickelt wurde.

Im Gegensatz zu verschiedenen anderen Antworten hier rate ich davon ab, Quellcode einzufügen der Anhang im Normalfall. Der Anhang enthält ausführliche Informationen, die möglicherweise zur weiteren Bezugnahme benötigt werden, aber zu "langweilig" sind, um vollständig in den Haupttext integriert zu werden. Dies bedeutet, dass die Informationen im Anhang optimiert werden sollten, damit sie sinnvoll genutzt werden können. Mit anderen Worten, der Anhang in einem (gedruckten) Dokument kann für von Menschen lesbare Fragebögen oder Tabellensätze gut sein, aber vollständige Quellcodedateien sollten immer in digitaler Form geliefert werden (und an mir vertrauten Universitäten (zumindest CS) ) Die Arbeiten müssen als gedruckte Dokumente eingereicht werden, die von einer CD begleitet werden. Quellcode-Schnipsel, die als Floats in den Haupttext aufgenommen werden, dienen demselben Zweck wie Abbildungen, Tabellen oder Formeln im Haupttext - sie veranschaulichen etwas, das zu umständlich wäre, um es im Text zu beschreiben.

Chris H
2015-01-29 03:04:22 UTC
view on stackexchange narkive permalink

Meine Meinung dazu - in einer Physik-Promotion - war, dass Code, der sich auf die Ergebnisse auswirkte, in den Anhang aufgenommen werden sollte. Ich habe die gesamte Quelle meiner Datenverarbeitungsroutinen (unter Verwendung des Pakets listings in LaTeX) eingelesen und eingeschlossen.

Aber habe ich Bits wie übersprungen 40 aufeinanderfolgende Zeilen zum Zuweisen von Standardeinstellungen zu Variablen (Nullen für späteres Inkrementieren) oder Schreiben einer Standardkonfigurationsdatei:

Skipped lines

(überprüfen Sie die Zeilennummern im Beispiel) Dies ist einfach Dies geschieht in Auflistungen , ebenso wie das Festlegen von monospaced Schriftarten und das Hervorheben von Code.

Ich sage nicht, dass dies die richtige Vorgehensweise ist, nur ein vernünftiger Weg. Ich habe diesen Ansatz möglicherweise nicht so gut umgesetzt, wie ich es hätte tun können.

Natürlich hängt dies von Ihrem Fachgebiet ab. In meinem Fall war der Code ein wichtiger Verarbeitungsschritt für die Ergebnisse einiger kniffliger neuer Experimente. Niemand wird realistisch meinen Code replizieren wollen, einige Aspekte davon zu überprüfen ist eine andere Sache. Und ja, ich habe jede Absicht, es auch verfügbar zu machen - aber es wäre von begrenztem Nutzen, da mein Codierungsstil bestenfalls als "Wissenschaftler, Autodidakt in Python" beschrieben werden könnte.

Ich denke nicht, dass dies ein guter Ansatz ist: Ich kann nicht sehen, was jemand mit einem Teilausdruck Ihres Codes machen möchte. Eine Beschreibung dessen, was der Code tun soll, und eine URL, von der er heruntergeladen werden kann, wären beide viel nützlicher. (Obwohl ich davon ausgehe, dass der Haupttext Ihrer Arbeit bereits den ersteren enthält.)
@davidricherby,, obwohl dies eine gute Idee ist, setzt es die Existenz einer geeigneten (womit ich meine permanente und akademische) URL voraus. Diese Option gab es für mich nicht. Die elektronische Bibliothekskopie der Arbeit ist möglicherweise identisch mit der Papierkopie, das ist also nicht gut. In meinem Fall konnte ich erhebliche Mengen an langweiligem Code einsparen und trotzdem die Routinen einbeziehen, die tatsächlich für die Arbeit an den Daten verwendet wurden, während der Gesamtprozess im Hauptteil beschrieben wurde (unter Verwendung von Flussdiagrammen und unter der Annahme von geringen oder keinen Programmierkenntnissen).
user28530
2015-01-31 02:11:47 UTC
view on stackexchange narkive permalink

Durch Hinzufügen von Codefragmenten im Text werden zwei Ziele erreicht: Erstens werden die Implementierungsdetails angezeigt und zweitens wird der Code dokumentiert. Die beiden Ziele sind natürlich eng miteinander verbunden und ergänzen sich. Um wertvoll zu sein, sollte der Code jedoch in Teile (Chunks genannt) aufgeteilt werden, die im Text in logischer Reihenfolge und nicht in der Reihenfolge vorliegen, in der sie von einem Computer ausgeführt werden. (Daher keine vollständige Codeliste in einem Anhang.) Auf diese Weise wird der Code ein integraler Bestandteil des Textes. Dies ist eine alte Idee von Don Knuth, bekannt als Literate Programming. Es gibt Programme wie noweb, die den Code und den lesbaren Text automatisch aus einer Quelldatei extrahieren.

tikiribanda
2015-02-01 22:56:37 UTC
view on stackexchange narkive permalink

Ich denke, Sie müssen sich an Ihren Vorgesetzten wenden, um eine angemessene Antwort auf diese Frage zu erhalten, da er / sie die Person sein wird, die Ihre Abschlussarbeit bewerten wird.

Wenn sich Ihr Kurs mehr mit technischen Fragen befasst, könnten Sie dies tun müssen mehr Code hinzufügen als für einen theoretischen MSc.

Mein persönlicher Rat ist, sich an Ihren Vorgesetzten / Dozenten / Tutor zu wenden und dessen Meinung einzuholen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...