Emotionale Bindung an Code [geschlossen]

26

Wenn Sie als Mitarbeiter eines Unternehmens Code schreiben, haben Sie das Gefühl, eine Bindung zu diesem Code zu haben? Haben Sie das Gefühl, dass Sie Eigentümer des Codes sind? Oder schreiben Sie es völlig losgelöst davon, ohne sich Gedanken darüber zu machen, was passiert, wenn Sie auf etwas anderes umgezogen sind?

EDIT: Ich spreche nicht über das Schreiben von schlechtem Code und dann ausgeführt ...

John Shaft
quelle
Hängt stark von der Arbeitsplatzkultur ab.

Antworten:

33

Nach 30 Jahren als Bauunternehmer ist es gemischt.

  1. Es ist alles wegwerfbar. Ich habe mit Hunderten von Kunden gearbeitet. Ich werde den Code nie wieder sehen. Warum sich anheften lassen? Es gibt kein Gefühl von Eigenverantwortung.

  2. Es ist sehr sichtbar. Es ist teurer als interner Code und wird daher sehr genau geprüft. Da ich nicht da sein werde, um es zu warten, wird es sehr genau geprüft. Code-Komplettlösungen und -Übergaben sind sehr wichtig. Es gibt etwas Stolz in der Kunstfertigkeit. Aber kein Gefühl von Eigenverantwortung.

Mein Rekord liegt bei 17 Jahren Produktion. 12 dieser Jahre ohne Wartung jeglicher Art.

Ich weiß, weil ich einen Anruf bekam. Sie überarbeiteten ihre Buchhaltungssysteme und wollten wissen, wie sie den cleveren Kostenverteilungsalgorithmus ersetzen können, den ich vor so vielen Jahren entwickelt hatte. Ich habe mir den Code angesehen und die Dateien waren seit der letzten Verbesserung vor 12 Jahren unverändert. (Kein Bugfix, AFAIK.)

Die zweitlängste Serie, von der ich weiß, war ein 7-jähriger fehlerfreier Betrieb. Dies hatte jedoch ein schwerwiegendes Jahr-2000-Problem und erforderte eine Überarbeitung, um Dateinamen mit vierstelligen Jahren zu verwenden. Die internen Algorithmen waren alle korrekt, aber die Protokolldateien wären in der falschen Reihenfolge angezeigt worden.

Wiederum weiß ich, dass es fehlerfrei war, da die Dateien seit der letzten Veröffentlichung, die ich gemacht hatte, nicht berührt worden waren.

Also, ja, es gibt viel Stolz in der Handwerkskunst.

Aber kein "Eigentum". Es ist ihr Code, nicht meiner. Ich baue es nur.

S.Lott
quelle
1
Zeigt deutlich, dass sich auch perfekte Programme ändern müssen, weil sich die Welt verändert.
10

Als mehr oder weniger solistischer Entwickler ist die Angst, das, was ich schreibe, beibehalten zu müssen, der Hauptgrund für meinen Versuch, keinen schrecklichen Code zu schreiben.

John Straka
quelle
9

Bei der Arbeit gehört ein Teil des Codes mir, ähnlich wie der Stuhl, auf dem ich sitze, mir gehört. Ich habe es geschrieben, ich habe es so gut wie möglich gemacht, ich fühle mich besessen davon, die Leute werden mich nach Veränderungen fragen und die Leute werden es als meins bezeichnen. Und wie mein Stuhl werde ich ihn nie wieder sehen, sobald ich die Firma verlasse, und ich werde keine emotionale Bindung mehr haben.

Das Wort "Mine" hat eine ganze Reihe von Variationen in seiner Bedeutung. "Meine Frau" und "meine Zahnbürste" sind nicht streng parallel.

David Thornley
quelle
4

Wenn Sie Code für sich selbst schreiben, können Sie es sich leisten, Gefühle dafür zu haben. Wenn Sie Code für ein Unternehmen schreiben, müssen Sie diese Gefühle, wann immer möglich, bösartig ausräumen. Ich kann nicht zählen, wie oft ich gute Programmierer gesehen habe, die sich selbst Sorgen machen, wenn sie emotional gegenüber Code werden.

Sag dir: "Ich habe es geschafft, es ist gut, aber es ist nicht meins und ich kann mehr machen." Wenn Sie es glauben , verlieren Sie nicht Ihren Job, wenn 6 Monate Ihres Lebens veraltet sind, weil ein Vertriebsmitarbeiter für ein minderwertiges Produkt Ihrem Chef beim Mittagessen einen BJ gegeben hat.

Vergiss nicht, dass sie dich bezahlen. Wir alle würden gerne coole Sachen machen, aber wenn sie uns dafür bezahlen, Löcher zu graben, dann füllen sie sie wieder aus, das ist ihr Privileg. Ich hatte gerade eine Situation, in der ich eine Web-App geschrieben habe, dann Monate damit verbracht habe, schreckliche Funktionen zu integrieren, und Monate damit verbracht habe, sie wieder in den ursprünglichen Zustand zu versetzen. Die letzten zwei Wochen "Arbeit", die ich aus meinem SVN-Repo gezogen und dann mit den neuen Versionsnummern erneut festgeschrieben habe. Und damit bin ich einverstanden.

Satanicpuppy
quelle
3

Nein, aber ich hasse es wirklich, Fehler beheben zu müssen, die von anderen in Code, den ich ursprünglich geschrieben habe, eingeschleppt wurden. Ich wäre glücklicher, wenn mir die Änderung überhaupt zugeteilt worden wäre. Ich hasse es noch mehr, wenn sich die Korrektur vollständig außerhalb des ursprünglichen Entwurfs befindet, z. B. indem eine kreisförmige Abhängigkeit mit einem übergeordneten Modul erstellt wird.

Kevin Cline
quelle
0

Ja und nein.

Ja - es ist etwas, das Sie kreiert haben, und deshalb haben Sie einen Eigensinn, genau wie ein Autodesigner stolz oder verlegen ist, wenn er Autos sieht, die er auf der Straße entworfen hat.

Nein - Was das Eigentum anbelangt, geben Sie dies in der Regel auf, wenn Sie dafür bezahlt werden, dass Sie in einem Unternehmen arbeiten. Werksmitarbeiter, die Autos bauen, erhalten kein Eigentum an jedem, der vom Band läuft, weil sie für ihre Zeit bezahlt werden.

jzd
quelle
0

Der Code, den ich schreibe, ist mir sehr vertraulich. es stellt Entscheidungen dar, die ich über die Lösung eines bestimmten Problems getroffen habe, und spiegelt somit meine Fähigkeit wider, ein Problem rational zu durchdenken und eine logische und hoffentlich elegante Lösung zu finden. Das heißt, alles, was ich über die Firmenzeit schreibe, gehört der Firma. Ich hoffe, nichts davon kommt zurück, um mich zu beißen, und ich würde es vorziehen, gebeten zu werden, meinen eigenen Code zu reparieren, aber wenn nicht, dann nicht. (Und ich könnte hinzufügen, dass der Typ, der vor drei Monaten Code geschrieben und meinen Namen in die Quellcodeverwaltung eingetragen hat, ein Idiot ist).

Netzteil
quelle
0

Keineswegs. Sobald ich es eingecheckt habe, ist es nicht mehr "meins". Natürlich bin ich der Ansprechpartner für Wartung und Fehlerbehebung, aber ich habe kein Gefühl von Eigenverantwortung dafür.

Ich kenne einige Leute, die sich ihrem Code gegenüber sehr proprietär fühlten , bis zu dem Punkt, an dem sie irritiert wären, wenn jemand anderes einen Fehler behoben oder ihn irgendwie modifiziert hätte, ohne ihn zuerst von ihnen auszuführen. Ich habe mich noch nie so gefühlt. Ich bitte Sie nur, wenn Sie ein Problem in meinem Code finden und beheben, sagen Sie mir, was das Problem war und wie es behoben wurde, damit ich in Zukunft nicht denselben Fehler mache.

John Bode
quelle
0

Ich liebe die Codes, die ich schreibe. Ich verstehe sie und schneide sie so zu, dass andere es auch tun. Wenn Leute zu mir kommen und sagen "Alter, wir verwenden immer noch das Skript, das Sie für uns geschrieben haben. Es ist so stabil und portabel", liebe ich dieses Gefühl von Stolz und Eigenverantwortung.

Es schadet nicht, sich an Ihren Code zu binden, wenn Sie sehen, wo er landet. Wenn alles intern ist und Sie wissen, für wen oder was Sie programmieren, dann würde ich sagen, dass es eine gute Sache ist, ihn zu bekommen befestigt . Denn du wirst es nur lieben, mehr Brillanzstücke zu kreieren, das ist viel mehr.

Andererseits (voll und ganz bewusst, dass ich wiederholen könnte, was @ S.Lott gesagt hat), wenn der Code als Eigentum eines Kunden enden wird, hat es keine Bedeutung, sentimental darüber zu werden. Es ist wie ... sich um den Welpen deines Freundes zu kümmern, wenn er in den Urlaub fährt. : - /

Lichtsang
quelle
0

Auftragnehmer und Berater, die ihren Code möglicherweise nie wieder sehen, sind wahrscheinlich nicht der ideale Kandidat, um sich emotional an ihren Code zu binden. Immer wieder "aufgeben" zu müssen, würde den kreativen Antrieb der armen Berater nach einer Weile lähmen.

Wenn wir es aus der Perspektive eines Mitarbeiters und nicht eines Auftragnehmers betrachten, würde ich sagen, dass ich möchte, dass alle meine Teammitglieder das Gefühl haben, Eigentümer des Codes zu sein, den sie schreiben, und von allem, was sie erstellen. Diese Eigenverantwortung und dieser Stolz sollten sich auf das gesamte Team erstrecken. Das Gefühl von Stolz und Eigenverantwortung schafft eine Bindung an das Produkt in Fragen und verleiht der Arbeit eines Teammitglieds Bedeutung und Sinn. Ich habe gesehen, dass dies die Leistung in kleinen bis großen Teams erheblich gesteigert hat.

Was vermieden werden sollte und was ich nicht mag, sind Menschen, die emotional an den spezifischen Code gebunden zu sein scheinen, den sie geschrieben haben, und die es bis ins Grab verteidigen. Sie möchten nicht, dass Änderungen vorgenommen werden. Sie lehnen jede Idee zur Änderung oder Verbesserung ab und versuchen, sie mit etwas zu rechtfertigen, das glaubwürdig klingt. Was sich aus meiner eigenen Erfahrung oft zusammensetzt, ist die Angst vor Veränderung und vor dem Unbekannten. Es ist nicht das Problem, die alten Codezeilen aufzugeben. Stattdessen muss es etwas Neues annehmen, das manchmal nicht von Ihnen selbst geschrieben wurde, und die Angst davor, daran scheitern zu müssen.

Diese Art von "kranker" Bindung an Code ist etwas, an dem ich hart arbeite, um dies zu verhindern. Aber "gesunde" emotionale Verbindungen zum Produkt und im weiteren Sinne der geschriebene Code sind etwas, das ich ermutige.

anfragen
quelle
0

Dies ist eine interessante Frage, und ich stimme einem der obigen Postings zu: Ja und Nein - aber aus verschiedenen Gründen.

Hänge ich an den Code? Definitiv Ja. Aber ich denke nicht, dass es der Code selbst ist, sondern die gesamte Architektur und Anwendung. Normalerweise müssen Sie eine Menge domänenspezifischer Recherchen durchführen, bevor Sie wirklich den Code erstellen können, den die Geschäftsleute wollen (es sei denn, Sie schreiben eine IDE - dann stecken Sie definitiv in der Rekursion fest).

Auf der anderen Seite: Es gibt nicht viele Dinge, die ich mehr mag, als veraltete Teile der Codebasis wegzuwerfen. Egal wie schwierig das Schreiben gewesen sein mag. Die Reise ist viel wichtiger als das Produkt (zumindest für das Ego muss natürlich auch das Produkt selbst funktionieren).

Gibt es ein Gefühl der Eigenverantwortung? Nun, es hängt von der Projektsituation ab. Wenn du den Code nie wieder sehen wirst (weil dein Teil des Projekts vorbei ist und du weitermachst), warum solltest du dann romantisch werden? Wenn Sie es jedoch weiterhin unterstützen (auf welche Weise auch immer), ist ein Gefühl der Verbundenheit eine gute Sache! Wenn Sie sich für das Produkt interessieren, das Sie herstellen, sind die Chancen sehr hoch, dass Sie versuchen, qualitativ hochwertige Artefakte zu liefern.

Alles in allem versuche ich also, eine pragmatische "Beziehung" zu dem Code, den ich schreibe, aufzubauen.

perdian
quelle
0

Zur Hölle, ja, ich habe einmal einen Kollegen verprügelt, weil er arrogant genug war, um ein paar Variablen umzubenennen.

Nein nicht wirklich. Ich werde für die Softwareentwicklung bezahlt. Auch wenn ich zugebe, dass Bugfixes, die von anderen Entwicklern an meinem Code vorgenommen wurden, Auswirkungen auf das Ego haben.

Dante
quelle