Frage:
Wie kann man Angst überwinden, während man in RIESIGEN Code gräbt?
user18840
2015-12-06 17:09:15 UTC
view on stackexchange narkive permalink

Ich bin vor einem Monat einer neuen Firma beigetreten. Diese Firma hat einen Code, der sich über 19 lange Jahre erstreckt. Es ist eine große Firma und der Code ist ohne Zweifel großartig.

Aber wenn mir gesagt wird, ich solle an einer Aufgabe arbeiten, um beispielsweise XYZ zu erledigen, muss ich immer tiefer in eine ABC-Datei graben, die ist immer mehr als 7000 Zeilen. (Der gesamte Projektcode umfasst mehr als 2.00.000 Zeilen.) Und innerhalb dieser ABC-Datei werden viele externe Methoden aufgerufen, die sich in einer anderen Datei befinden, z. B. HIJ.

Manchmal also, wenn ich neu bin und es ist eine riesige Lernkurve, ich fühle mich schlecht. Ich meine es so. Es macht mich wirklich traurig und verringert meine Arbeitsfähigkeit, wie ich es in meiner vorherigen Organisation getan habe, in der es immer mittelgroße serviceorientierte Projekte gab (das aktuelle Unternehmen ist ein produktbasiertes Unternehmen).

@PratikCJoshi Nun, dies gilt möglicherweise nicht unbedingt für Ihren Arbeitsplatz (Sie haben keinen Standort angegeben), aber in den USA ist Depression eine tatsächliche psychiatrische Erkrankung. Ich bezweifle, dass das Betrachten von Code zu ernsthaften psychischen Problemen führt. Wenn dies der Fall ist, suchen Sie bitte medizinische Hilfe oder einen Karriereberater auf.
"Depression" scheint hier das falsche Wort zu sein. Wären Sie offen für ein genaueres Wort? Der Rat an jemanden, der wirklich depressiv ist, unterscheidet sich von dem Rat, den Sie als richtige Antwort gewählt haben. Wenn wir den Wortlaut der Frage so ändern könnten, dass er Ihrem tatsächlichen Gefühl und Denken entspricht, würde dies die Frage in Zukunft besser und nützlicher machen.
Gönnen Sie sich 6 Monate in einem neuen Job, um sich auf dem Laufenden zu halten. Sei nicht so hart zu dir. Möglicherweise ist dies ein Fehler im Neueinstellungsprozess, nicht genug Onboarding-Prozess.
Anstatt "depressiv" zu sein, möchten Sie vielleicht "frustriert" oder "Selbstzweifel" oder "überfordert" sagen. * Ich öffne die Quelldatei, sehe, dass sie 7000 Zeilen lang ist, und überall, wo ich hinschaue, gibt es einen Verweis auf eine andere Datei an einer anderen Stelle, die normalerweise genauso lang ist. Ich habe das Gefühl, dass meine Motivation dadurch entleert wird, ich frustriert bin usw. *
@Brandin beide Dinge sind richtig. Nach Frustration werde ich manchmal depressiv.
@PratikCJoshi Wenn Sie sagen, dass Sie depressiv sind, kann dies ein Signal dafür sein, dass Ihre Gefühle so schlimm geworden sind, dass sie nicht mehr beherrschbar sind. Wenn Sie das nicht meinen, möchten Sie dieses Wort vielleicht vermeiden.
es ist was ich meine
Wenn Sie tatsächlich depressiv sind, benötigen Sie möglicherweise eine klinische Lösung / Unterstützung. Die technische Lösung hierfür finden Sie auch in diesem Thread - http://programmers.stackexchange.com/questions/6395/how-do-you-dive-into-large-code-bases
Depression ist eine psychische Störung, die klinische Hilfe benötigt. Wenn Sie wirklich depressiv sind, sollten Sie einen Arzt aufsuchen. Wenn Sie nur traurig oder gelangweilt sind, ist das keine Depression. Wenn Sie nicht sicher sind, was für Sie zutrifft, suchen Sie ärztliche Hilfe.
Lesen Sie den Code Zeile für Zeile.Fügen Sie neben jeder Zeile einen Kommentar ein.Auf diese Weise werden Sie es besser verstehen.Fügen Sie dem eigentlichen Unternehmenscode jedoch keine Kommentare hinzu.Erstellen Sie ein Duplikat einiger ausgewählter Quelldateien und fügen Sie dann Kommentare hinzu.Dann wirst du verstehen.
Sechs antworten:
#1
+47
gazzz0x2z
2015-12-06 18:16:15 UTC
view on stackexchange narkive permalink

Diese Menge an LOC ist üblich. Ich habe viel größere gesehen (eine große französische Bank: 173.000 COBOL-Programme im Jahr 2002 müssen heute weitaus mehr sein, ohne neue Technologien). Nicht deprimieren, es gehört zu deinem Job, dich zu vertiefen, und bald wirst du es mögen. In der Zwischenzeit:

  1. Fragen Sie diejenigen, die es wissen. Und wenn Sie nicht wissen, wer es weiß, fragen Sie "Wissen Sie, wer es wissen könnte?". Befreunden Sie ältere Menschen, sie wissen normalerweise viel mehr als sie scheinen.

  2. Fordern Sie technische Dokumentation an. Es ist eindeutig nichts, worauf ich wetten würde, aber manchmal kann man Edelsteine ​​finden. Im Jahr 2011 wurde mein Rücken durch 120 Seiten E-Mails gerettet, die 1995 gedruckt wurden. Das einzige Dokument, aber sooooo nützlich.

  3. Gewöhnen Sie sich an den lokalen Stil. Wenn Sie Glück haben, werden Sie bald feststellen, dass vielen Programmen eine ähnliche &-Philosophie zugrunde liegt. Dies ist eine große Hilfe beim Navigieren in Monstercode-Basen.

  4. Wenn nichts funktioniert, fragen Sie nach mehr Zeit von Ihrem Chef, und vergessen Sie nicht, ihm alles zu erzählen, was Sie getan haben, um zu verstehen. Sie sollten nicht als Winser gesehen werden, sondern als Profi, der sich einem Berg gegenübersieht, der größer ist als er es gewohnt ist.

  5. Am Ende sehen Sie sich als Schatzsucher. Viel Schmutz zum Graben, aber mit dem gelegentlichen, unerwarteten Auffinden eines wahren Edelsteins.

  6. ol>
Schauen Sie sich die Antwort von glasher829 und meinen Kommentar an: :). "Dann könntest du mir sagen, ich soll meditieren, ruhige Musik hören, lustige Musik sehen :). Die Einstellung zu verlieren ist NICHT in meinen Adern! :)"
_ "lustige Musik ansehen" _ OP Ich denke, Sie haben unrealistische Erwartungen an die Welt, in der Sie leben.
@muru: Danke für die Bearbeitung. Ich werde versuchen, das nächste Mal sauberer zu sein.
Punkt 1 verdient es sicherlich, Nummer 1 zu sein, imho. Selbst wenn es * gute * Dokumentation gibt (wahrscheinlich nicht), sollte die erste Anlaufstelle mit den Veteranen sprechen, denn selbst wenn Sie in den Dokumenten auf den richtigen Startpunkt hingewiesen werden, sparen Sie viel Zeit! Beachten Sie, dass es ein sehr schlechtes Zeichen wäre, wenn Ihr Arbeitsplatz die Kultur hat, nicht zu wollen, dass die neuen Leute die Zeit der Veteranen "verschwenden", um diese Unterstützung zu erhalten.
Ja, Punkt eins ist gut, aber Sie sollten mehr tun als fragen. Sie sollten sich von ihnen zeigen lassen. Paarprogrammierung ist die schnellste Art der Programmierung. Schieben Sie die Tastatur hin und her. Halten Sie Spielzeug auf Ihrem Schreibtisch, um Leute zu unterhalten, die vorbeischauen, um zu helfen, während Sie ein Problem lösen (Der Intern-Film ist verdammt). Vertrau mir. Die Spielzeuge machen Sie produktiver. Danach sei bereit, anderen zu helfen. Das Programmieren ist nichts für einen Mann, der alleine in einer dunklen Ecke arbeitet.
@LightnessRacesinOrbit Entschuldigung, ich musste sagen, schau dir lustige Filme an :)
#2
+15
gnasher729
2015-12-06 21:04:07 UTC
view on stackexchange narkive permalink

Wenn Sie das wirklich deprimiert: Depression ist eine Krankheit. Wenn Sie an Depressionen leiden, müssen Sie medizinische Hilfe suchen. Wenn das Stöbern in einer 19 Jahre alten Codebasis Sie deprimiert, sollten Sie sich nach einem anderen Beruf umsehen.

Ich gehe davon aus, dass Sie das Wort "deprimierend" falsch verwenden. Dass es dich nur aufregt, dass du langsam Fortschritte machst. Diese niedrige Codequalität nervt Sie. Und so weiter. Eine Sache, die hilft, ist sicherzustellen, dass Sie alleine sind und laut auf den Code schwören :-) Im Ernst, das wird vielen Menschen helfen, sich besser zu fühlen.

"Code ist ohne Zweifel großartig" - wenn ich mich in eine 19 Jahre alte Codebasis vertiefen müsste, hätte ich keinen Zweifel daran, dass ich auf einige der schlechtesten Programme stoßen würde, die man sich vorstellen kann. Einschließlich mehrerer halbherziger Versuche, die Codebasis zu verbessern, die alle fehlgeschlagen sind :-)

Es gibt zwei Möglichkeiten, um damit umzugehen, die Sie mit Ihrem Manager vereinbaren müssen: Entweder nehmen Sie die geringste Anzahl von Änderungen vor Fügen Sie dem Code nur die richtige Dokumentation hinzu, während Sie ihn durchlaufen. Oder Sie stimmen Ihrem Manager zu, dass jeder Code, den Sie ohnehin ändern müssen, im Laufe der Zeit modernisiert wird. Dies sollte nur von jemandem durchgeführt werden, der wirklich kompetent ist. Versuchen Sie dies also nur, wenn Sie es sind.

Ok, wir haben hier einen Jungen. Versteht nicht, wie das Zeug funktioniert. Auf das Originalplakat hat diese Antwort einen sehr gültigen und angemessenen Vorschlag. Das Beheben von Fehlern und das Vornehmen von Änderungen an ausgereiften großen Codebasen ist immer eine Übung in Bezug auf Höhlenforschung, Sackgassen, Primelpfade, Geheimtüren usw. Wenn Sie erwartet haben, dass die Antworten auf Ihre Aufgaben nach ein paar Minuten des Stocherns einfach aufspringen und Ihnen zuwinken Durch Code verstehen Sie also wirklich falsch, was es bedeutet, für ein großes Unternehmen zu arbeiten. Stellen Sie sich Ihre Aufgabe wie einen Krimi vor. Sie müssen bis zum Ende durchgehen, um "whodunit" herauszufinden.
Die Frage ist normalerweise nicht "whodunit", sondern "was dachten sie" :-)
Das ist wahr. Es ist jedoch normalerweise auch wahr, dass alles, was sie in dem Code getan haben, den Sie als abscheulich empfinden, zu der Zeit als logische und angemessene Lösung für den bestimmten Wirbel von Anforderungen und Einschränkungen zu einem bestimmten Zeitpunkt erschien.
"Code ist ohne Zweifel großartig", was bedeutet das?
Suchen Sie einen anderen Beruf?Mehr suchen Sie nach einem anderen Job in einem professionellen Unternehmen.
#3
+7
Cort Ammon
2015-12-07 05:12:39 UTC
view on stackexchange narkive permalink

Ich behandle solche Codebasen so, als wäre ich ein Anthropologieprofessor auf diesem Gebiet. Denken Sie daran, dass das Rätsel selbst unter Millionen von Codezeilen ein menschliches Element enthält. Jedes Fragment des Codes war zu einem bestimmten Zeitpunkt für einen Entwickler sinnvoll. Es ist oft einfacher zu verstehen, wie ein paar Dutzend Entwickler denken, als zu versuchen, ein paar tausend Funktionen zu verstehen.

Sobald Sie verstehen, wie die vorherigen Entwickler gedacht haben, lernen Sie die Wege von geringster Widerstand für den Code. Dann beginnt das entmutigende Gefühl zu verschwinden.

Ich mag deinen Standpunkt. Aber wie wäre es mit einem Code, der im Laufe der Zeit von mehreren Codierern gepatcht wurde? Die Dinge beginnen verschwommen zu werden.
Nun, das ist Archäologie. Software-Archäologie. War mein Job für mehrere Jahre. Es ist Standard in den meisten großen Läden. Und sogar in mehreren kleineren. Es braucht Zeit, um sich daran zu gewöhnen.
#4
+6
Kilisi
2015-12-06 18:17:44 UTC
view on stackexchange narkive permalink

Klingt so, als wären Sie kopfüber in ein Chaos geraten, aber das ist in Ordnung, Sie können das durchstehen.

Wie überwinde ich die Depression, die Angst und gebe mein Bestes? Vielen Dank.

Eine Methode besteht darin, es als Job anzusehen, sich nicht dafür zu begeistern und sich nicht frustrieren zu lassen. Waten Sie einfach durch und kommentieren Sie, während Sie gehen. Versuchen Sie herauszufinden, ob es Unterlagen gibt, die hilfreich sein könnten, oder ob die letzte Person, die diesen Job ausführt, noch da ist. Fragen Sie, ob Sie einen Teil ihrer Zeit für den Einstieg verwenden können. Aber am Ende des Tages geht es nicht darum, dass Frustration in Ihre Denkweise eindringt. Es ist nur Arbeit. Sie können nur depressiv und ängstlich werden, wenn Sie es sich erlauben.

Drücken Sie sich nicht dazu, optimal zu arbeiten, diese Art von Aufgabe besteht darin, sorgfältig und methodisch durchzugehen. Betonen Sie es also nicht.

#5
+5
stevieg
2015-12-07 07:03:49 UTC
view on stackexchange narkive permalink

Ich war oft genug in Ihrer Situation, um ein Muster in meinem Verhalten beim Umgang mit neuem Code zu erkennen:

  1. Die Unwissenheit ist ein Stadium der Glückseligkeit. Ich weiß nicht genug, um zu erkennen, dass ich nicht in meiner Tiefe bin.
  2. Die riesige Grube nähert sich der Bühne. Es gibt ein Problem, aber ich weiß noch nicht, was es ist.
  3. Die OMFG, ich weiß nichts, ich werde diese Anwendungsphase nie verstehen. Hier bist du. Es ist ein schreckliches Gefühl.
  4. Das Besteigen der Bergetappe. Nichts als harte Arbeit kann Sie durch dieses Stück bringen.
  5. Die Euphorie und die atemberaubende Aussicht von der Berggipfelbühne. Alles von hier aus ist einfaches Segeln.
  6. ol>

    Heutzutage akzeptiere ich nur Stufe 3 als einen notwendigen Terror, dem ich mich unterwerfe. Es gibt kein Geheimnis, außer an Ihre eigenen Fähigkeiten und Ihre Intelligenz und das Wissen zu glauben, das es weitergeben wird. Erreichen Sie Stufe 4 so gut Sie können - egal, ob es sich um Unterschiede zu alten Fehlerkorrekturen oder neuen Check-Ins handelt, was auch immer es ist, identifizieren Sie, wie Sie sich selbst beim Erlernen des Produkts helfen können. Wählen Sie den am einfachsten aussehenden Fehler aus der Warteschlange. Sehen Sie sich alle Konfigurationseinstellungen an und verstehen Sie, wie die App zu Ihrem Ökosystem passt. Machen Sie einen Schritt mit einem Debugger.

    Sie haben diese Art von Terror schon oft während Ihrer Ausbildung erlebt. Sie haben es geschafft, indem Sie fähig waren.

    Es ist kitschig, aber glauben Sie an sich selbst und es wird Ihnen gut gehen.

#6
+2
Patricia Shanahan
2015-12-07 04:04:20 UTC
view on stackexchange narkive permalink

Ich habe zwei Ratschläge, einen praktischen und einen emotionalen.

Praktisch : Der Trick bei der Arbeit mit großen Code-Haufen besteht darin, Strategien zu finden, um was zu minimieren Sie müssen schauen, um eine bestimmte Aufgabe zu erledigen. Dies kann das Auffinden von Unterlagen, das Gespräch mit dem ältesten Einwohner, um die Stammesüberlieferung zu erhalten, und das Durchführen von Tests umfassen. Im Allgemeinen sollten Sie versuchen, einen Zaun um ein relativ kleines Stück zu legen und nur herauszufinden, wie der Rest des Programms mit diesem Stück interagiert. Manchmal kommt Ihre Unkenntnis des Restes des Programms zurück, um Sie zu beißen, aber das ist das Leben.

Emotional : Vor vielen Jahren habe ich einige Monate durchgemacht, als ich normal war Probleme schienen überwältigend. Zu wissen, dass die Arbeit nicht termingerecht abgeschlossen werden konnte, hat mich emotional sehr beunruhigt. Ich war bereits ein erfahrener Projektleiter, daher wusste ich intellektuell, dass zu viel Arbeit, zu wenig Leute und zu wenig Zeit wie gewohnt funktionieren und ich musste nur Prioritäten setzen und die wichtigsten Dinge erledigen. In meinem Fall habe ich mich in ein paar Monaten wieder normalisiert, aber wenn es so geblieben wäre, hätte ich ärztlichen Rat eingeholt. Wenn sich Ihre Emotionen nicht verbessern, wenn Sie selbstbewusster werden, sollten Sie dies in Betracht ziehen.



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...