Sollte ich den Quellcode veröffentlichen, um den Fehler zu beheben?

15

Ich habe einen Fehler in meiner Anwendung, den ich baue. Ich habe eine Frage zu SO gestellt, und einer der Benutzer hat mich gebeten, den gesamten Code zu posten oder an ihn zu senden, damit er ihn sich ansehen kann.

Ich verstehe die Bitte vollkommen. Es ist gültig und verständlich. Ich habe jedoch Zweifel, ob ich sollte. Offensichtlich gebe ich ihm / ihr die Schlüssel zum Königreich und ich werde keinen Rückgriff haben, wenn er / sie etwas Bösartiges tun würde.

Ich möchte auch hinzufügen, dass ich meine, keine Respektlosigkeit gegenüber dem Benutzer auf SO, der seine Hilfe angeboten hat. Ich habe nur Bedenken.

Ich möchte, dass mein Fehler behoben wird, aber es gibt keine Garantie dafür, dass diese Person ihn beheben kann.

Soll ich den gesamten Quellcode veröffentlichen und auf das Beste hoffen? Oder behalten Sie es und versuchen Sie es selbst herauszufinden?

Was würden Sie tun?

webdad3
quelle
3
Schwierige Frage. Gut gefragt.
Yfeldblum

Antworten:

44

Erstellen Sie eine SSCCE (kurzes, eigenständiges, korrektes Beispiel). Wenn der Fehler verschwindet, wenn Sie einige der zusätzlichen Details für die SSCCE entfernen, haben Sie ihn gefunden.

Andernfalls erhalten Sie eine SSCCE, die Sie vergeben oder veröffentlichen und die den Code, den Sie für die Freigabe benötigen, im Idealfall eliminiert.

jzd
quelle
1
Für diejenigen, die mit "SSCCE" nicht vertraut sind: acronymfinder.com/SSCCE.html (ignorieren Sie die erste Definition von "Oberflächliches Plattenepithelkarzinom des Ösophagus"). Aha, fand den besseren Link: sscce.org
FrustratedWithFormsDesigner
Was ist eine SSCCE? EDIT: Steck es einfach in deine Antwort. :)
jprete
7
Die kleinstmögliche Reproduktion ist aus vielen Gründen großartig. Sie geben nicht nur Ihren Code nicht preis, sondern finden möglicherweise auch den Fehler, der bei der Entwicklung eines Beispiels auftritt.
Steve
3
Und die SSCCE dient gleichzeitig als Regressionstest, um sicherzustellen, dass Sie diesen Fehler nie wieder bekommen. Außerdem können Sie häufig eine Regel für ein statisches Analysetool aus SSCCEs erstellen, um sicherzustellen, dass Sie diesen Fehler nicht nur nie wieder erhalten, sondern auch nie wieder einen ähnlichen Fehler erhalten.
Jörg W Mittag
9

Ich würde es nicht tun, besonders wenn Sie für jemand anderen arbeiten, der es wahrscheinlich nicht zu schätzen weiß, dass Sie potenziellen Mitbewerbern den Quellcode übergeben.

Aber selbst wenn es sich um Ihren eigenen Code handelt, geht der Punkt des Stapelüberlaufs verloren, der darin besteht, einen Index mit Fragen und Antworten zu erstellen, den jeder lesen und verwenden kann. Sie posten also genug, um Ihre Frage zu stellen, die Leute beantworten die Frage so, wie sie gestellt wurde, und zukünftige Leser haben eine gut gekapselte Frage und Antwort vor sich.

Wenn Sie nicht ausreichend veröffentlichen können, um den Fehler zu verstehen, sollten Sie versuchen, den Fehler in einem möglichst kleinen Codeteil zu reproduzieren, und diesen dann veröffentlichen. ( BEARBEITEN: Das von jzd erwähnte Konzept des kurzen, in sich geschlossenen kompilierbaren Beispiels.) Veröffentlichen Sie keine großen Mengen an Quellcode und geben Sie keine großen Teile Ihrer Anwendung an völlig unbekannte Personen im Internet weiter.

Jprete
quelle
2

Wenn es sich um Code handelt, den Sie als Teil eines Open Source-Projekts veröffentlichen möchten, würde ich mir keine Sorgen machen. Andernfalls, wenn es sich um Code handelt, an dem Sie an Ihrem Arbeitsplatz arbeiten und der proprietäre Ideen enthält, die jemand anderem gehören, geben Sie ihn an niemanden weiter. Es könnte Sie in große Schwierigkeiten bringen.

Verwenden Sie Ihr bestes Urteilsvermögen!

Bernard
quelle
1

Wenn es sich um den Code Ihres persönlichen Projekts handelt und es sich nicht um einen kommerziellen handelt, haben Sie keine Probleme, Ihren Quellcode anzugeben, solange Sie eine Kopie davon aufbewahren (besser in einigen Versionskontrollsystemen für Quellcode).

Dhanunjai
quelle
0

Sei diskret

Es ist unschuldig. Sie möchten Code veröffentlichen und die SO-Community-Hilfe erhalten. Das Problem ist, dass die Leute immer zuschauen.

Ich wurde für das Posten eines Skripts geschrieben. Es passiert.

Post zu Hause oder in einem Café. Posten Sie diskret. Sie sollten in der Lage sein, einige Notizen zu machen und sie einzubringen, ohne Probleme zu bekommen.

Hinweis: Ich bin ein bisschen sauer darüber, wie naiv ich war. Seien Sie clever!

Ausgeschaltet
quelle
Ich denke, das gesuchte Wort ist "diskret", vielleicht haben Sie zu viel Zeit mit Programmieren verbracht! :)
Sedate Alien