Wie kann ein Rechtssportler mit einem massiven Code für linke Krawatter umgehen? [abgeschlossen

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/18551

  •  22-10-2019
  •  | 
  •  

Frage

Ich bin meistens ein Künstler, obwohl ich mich als Künstler/Physiker beschreibe. Während ich Mathe machen kann, mit Worten umgehen kann und das "logische" Dinge, die als linkshirniges als linksgerichtet sind Denken-räumliche Beziehungen, ganzheitlicher Kontext mit großem Bild usw. Natürlich ist alles, was unscharf ist, da die rechtzeitige Gehirntheorie zu vereinfacht ist und keine mentale Aktivität so einfach ist. Dennoch spüre ich, dass ich gut zu Künstlern, Videodirektoren, Köchen und anderen nonverbalen Denken, kreativen Typen, während die meisten Menschen in "IT" oder Hardcore-Software-Ingenieuren Verstand haben, die anders funktionieren, mit Liebe zum Detail, Halten Viele Details berücksichtigen gleichzeitig und starke rationale und verbale Fähigkeiten.

Hier bin ich in einem Job, der bezahlt werde, um pingelige und dunkle Fehler in einem massiven Schwarm von C ++ - Software zu reparieren, sehr stark auf OO, und eine Codestelle ist nicht sinnvoll, es sei denn, ich denke über zwanzig andere Klasse- und Method -Namen. Beziehungen zwischen ihnen, der Ausführungsfluss (sehr spaghettiartig) und andere Details.

Außerdem bin ich auch ziemlich stark gegen einen Großteil der zeitgenössischen C ++ - und OO -Stile. Diejenigen, die diesen Code geschrieben haben, tranken wirklich die tiefe OO und die moderne C ++ Cool-Ada. Ich finde, es macht Code tatsächlich viel schwieriger zu befolgen, viel schwieriger zu entscheiden, wo etwas repariert oder geändert werden soll. Ich weiß nicht, ob dies Teil der linken/rechten Unterschiede ist (oder wie auch immer Sie es nennen möchten) oder nicht.

Aber Arbeit am c ++ Ich muss - die Leute sind auf mich angewiesen, um mein Einkommen zu erhalten. Was sind Tipps und Techniken, die mit dieser Situation umgehen können, um für meinen Arbeitgeber so effektiv wie möglich zu sein?

War es hilfreich?

Lösung

Versuchen Sie, mehr in die Designseite der Dinge zu gelangen, in denen es mein Vorschlag für den Karriere -Fortschritt sein würde. Als jemand, der gerne kreativ ist, passt die Arbeit an Wartung möglicherweise nicht gut, während die Arbeit an neuen Dingen besser ist, wenn dies möglich ist.

Es ist zwar nichts Falsches daran, einen Stolz auf die Arbeit zu wünschen, aber es ist möglicherweise etwas, das Sie möglicherweise einen neuen Ansatz finden, um sich zu verbessern, möglicherweise nicht in die Details festgefahren zu werden. Anstatt es als runter und schmutzig zu betrachten, kann es eine andere Perspektive geben, die es irgendwie Spaß machen könnte.


Support und Wartung haben wahrscheinlich ihre Fans, da einige Leute es vorziehen würden, vorhandene Systeme zu optimieren, als ein neues System einzugeben. Ich weiß, ich arbeite dazu, mit einem vorhandenen System besser zu arbeiten, das ich ändere, anstatt zu versuchen, etwas aus dem Äther herauszuholen.

Was Sie möglicherweise versuchen, ist zu bemerken, wann Menschen Ideen für den Umgang mit verschiedenen Problemen und Brainstorming -Lösungen wünschen, da dies Teil Ihres gefällt. Es geht nicht darum, zu wissen, welche Codezeilen Sie sich ändern sollen, sondern wenn Sie jemandem sagen können: "Haben Sie in diesem Objekt gesucht und gesehen, ob es mehr tut als es behauptet?" Art der Sache.

Ein weiterer Punkt ist das Wissen, was Sie erstellen möchten: Grafiken, Anwendungen, Websites, Prozesse oder Systeme? Dies sind alles etwas unterschiedliche Dinge, die Sie bei der Erstellung von Erstellen nach "WAS CATE CATE?"

Andere Tipps

Es tut es nicht Klang (Zumindest für mich) Wie Ihr Code ist besonders objektorientiert oder besonders ähnlich wie "Modern C ++". Eher das Gegenteil, eines der der Schlüssel Elemente der guten Objektorientierung ist eine Kapselung, deren primäre Absicht ist zu reduzieren Die Anzahl der Dinge, die Sie zu einem bestimmten Zeitpunkt im Auge behalten müssen. Ebenso klingt "sehr spaghetti-ähnlich ... Ausführungsfluss" weder objektorientiert noch modern (irgendetwas).

Nun, ich nehme an, wenn ich mir den Code angesehen habe, den Sie aufrechterhalten, sehe ich ihn vielleicht anders und/oder Sie sehen meinen Code vielleicht als ähnlich wie das, was Sie gerade erhalten, das ist etwas schwer zu erraten. Es ist wahr, dass Sie es als eher spaghetti-ähnlichen Kontrollfluss ansehen könnten, wenn Sie versuchten, jedes Detail zu verfolgen, wie mein Code funktioniert.

Nur zum Beispiel, ich bin viel besserer (oder zumindest toleranter) gegenüber einigen impliziten Conversions als viele Programmierer - ich verwende Dinge wie Proxy -Klassen ziemlich viel. Dies bedeutet Ausführung die Funktion, nur Berufung es). Natürlich werden alle diese temporären Objekte am Ende des Ausdrucks, der den Funktionsaufruf enthält, erneut zerstört. Wenn Sie es zählen, haben Sie möglicherweise leicht ein halbes Dutzend oder mehr separate Funktionen, die beim Aufrufen/Rückkehr aus einer Funktion, die "sichtbar" im Code "sichtbar" ist, aufgerufen werden.

Der Punkt, Dinge so zu tun, besteht jedoch darin, es einfach zu machen ignorieren Der größte Teil der Trivia, die an (zum Beispiel) mit Details wie zu tun haben wie Ein bestimmtes Objekt wird dargestellt und konzentriert sich ausschließlich auf das, was es wirklich ist stattdessen. Sie müssten sich immer nur mit dem größten Teil dieses Codes befassen, wenn Sie in diesem bestimmten Teil einen Fehler gesehen haben. Ich versuche jedoch viel davon zu vermeiden, indem ich Klassen so klein und einfach erstellt, dass es so wenig tut, dass es kaum mehr als einen Blick dauert, um zu erkennen, dass es ist offensichtlich Richtig, es ist also leicht zu ignorieren.

Warnung: Diese Antwort ist sehr lang und hat viel Psychobabble (was ich zu erklären versuche, aber immer noch). Was kann ich sagen? Psychologie ist eines meiner Lieblingsfächer außerhalb des Programms.

Ich bin meistens ein Künstler, obwohl ich mich als Künstler/Physiker beschreibe. Während ich Mathe machen kann, mit Worten umgehen kann und das "logische" Dinge, die als linkshirniges als linksgerichtet sind Denken-räumliche Beziehungen, ganzheitlicher Kontext mit großem Bild usw. Natürlich ist alles, was unscharf ist, da die rechtzeitige Gehirntheorie zu vereinfacht ist und keine mentale Aktivität so einfach ist. Dennoch spüre ich, dass ich gut zu Künstlern, Videodirektoren, Köchen und anderen nonverbalen Denken, kreativen Typen, während die meisten Menschen in "IT" oder Hardcore-Software-Ingenieuren Verstand haben, die anders funktionieren, mit Liebe zum Detail, Halten Viele Details berücksichtigen gleichzeitig und starke rationale und verbale Fähigkeiten.

Dies basiert tatsächlich auf einer etwas veralteten Sichtweise der Neurowissenschaften. Zu einem bestimmten Zeitpunkt glaubten Wissenschaftler, dass die linke Gehirnhälfte nur für Logik- und rohe sensorische Daten verantwortlich war, während die rechte Gehirnhälfte ausschließlich für Intuition und Gefühl verantwortlich war. Wie sich herausstellt, ist die linke Gehirnhälfte wirklich zu allem fähig, was das rechte Gehirnhälfte ist, und umgekehrt. Als jemand, der ist äußerst Rechtlich, aber logisch, schrecklich mit Richtungen und räumlichen Ausrichtung und völlig ohne der künstlerischen Kreativität, die traditionell mit dem richtigen Gehirn verbunden ist, kann ich das bestätigen.

Der beste Weg, um den Unterschied zwischen dem linken und dem rechten Gehirn zu denken, besteht darin, sie als Spiegelbilder voneinander zu betrachten. Um dies zu verstehen, benötigen Sie einige Hintergrunddaten. Ein Psychologe namens Carl Jung hatte in den 20er Jahren eine Persönlichkeitstheorie, die die Persönlichkeit in einigen Dimensionen aufteilte. Sie haben wahrscheinlich von einem von ihnen gehört: Introversion vs Extraversion. Ich habe a geschrieben Paar Blogeinträge Zu diesem Thema, aber es läuft im Grunde darauf hinaus: Introversion unterscheidet sich von anderen, während sich die Extraversion darauf konzentriert, wie es sich mit anderen verbinden kann. Dies wird als "Haltung" bezeichnet.

Dann haben Sie vier verschiedene kognitive Funktionen: Denken, Gefühl, Gefühl und Intuition. Um den Einfachheit halber willen, sagen wir einfach, dass zwei dieser Funktionen als "Beurteilung" von Funktionen (Denken und Fühlen) als "wahrnehmen" Funktionen als "wahrnehmen". Die Beurteilungsfunktionen treffen Entscheidungen. Wenn Sie sich in einer Beurteilung befinden, versuchen Sie, Überraschungen zu vermeiden. Sie möchten vorher alle richtigen Entscheidungen getroffen haben, damit Sie sich nicht anpassen müssen, wenn Überraschungen kommen. Da Sie im Voraus so viel geplant haben, haben Sie möglicherweise die Tendenz, starr und unflexibel zu werden, sobald eine Entscheidung getroffen wurde. Andererseits bevorzugt eine wahrnehmende Denkweise es vor, am Sitz seiner Hose am Sitz seiner Hose zu fliegen und mit den Schlägen zu rollen.

Im Allgemeinen kombinieren Sie die Funktion und eine Haltung, um eine (kreativ benannte) Funktionsübereinstimmung zu erstellen (introvertiertes Denken, extravertiertes Gefühl usw.). Die bewussten Persönlichkeiten der Menschen werden hauptsächlich durch eine dominante Funktionsübereinstimmung und eine Hilfsfunktionsstörung definiert. Schließlich standen Psychologen zu einem Konsens darüber, dass es allgemein zwei Arten von Menschen gibt: Menschen, deren zwei Hauptfunktionen aus einer introvertierten Beurteilungsfunktion und einer extravertierten Wahrnehmungsfunktion bestehen, oder Personen, deren zwei Hauptfunktionen aus einer extravertierten Beurteilungsfunktion und einer introvertierten Wahrnehmungsfunktion bestehen . Wenn Sie jemals den MBTI- oder einen ähnlichen Persönlichkeitstest durchgeführt haben, wird im letzten Brief angezeigt, in welche Kategorie Sie fallen. Wenn Sie ein P sind, bedeutet dies, dass Sie ein introvertierter Judger/Extraverted -Wahrnehmung sind und J umgekehrt ist.

Immer noch bei mir bisher? Hier komme ich zu dem, was ich mit den beiden Seiten gemeint habe, als Spiegelbilder voneinander zu sein. Niemand erkannte es damals, aber sie bauten im Wesentlichen eine Skizze darüber, wo die Funktionalität im Gehirn liegt. In der Tat wurde jede der Funktionsaufschläge von Jung an einen groben Ort im Gehirn abgebildet. Wie sich herausstellt, befinden sich alle P -Funktionen (introvertierte Beurteilung und extravertierte Wahrnehmung) auf der rechten Seite des Gehirns und die J -Funktionen befinden sich auf der linken Seite des Gehirns.

Wann immer Sie sagen, dass die Menschen in der Linken gut in Details sind und die rechtsfrauen Menschen gut im "großen Bild" sind (obwohl ich sagen würde, dass "ganzes Bild" genauer wäre), konzentrieren Sie sich auf die extravertierte Seite der Dinge . Wenn eine Person mit der linken Hirntum eine rechtsfraute Person verwaltet, möchte der Linke alle Details darüber wissen, wie die Rechten ihren Job im Voraus und im Voraus erledigen werden. Sie wollen, dass die Anforderungen in Stein und harten Fristen im Voraus entschieden werden. Das Richtige möchte nur eine sehr breite Vorstellung davon, was sie tun müssen, damit sie die Details später ausfüllen können.

Beachten Sie jedoch, dass dies nicht das nicht zu sein scheint, was Sie erleben. Es scheint, als ob der Code der Linken wahrscheinlich im Voraus besonders gut durchdacht war und einige Probleme hat, die durch einige Voraussicht hätte verhindert werden können. Dies liegt daran, dass Sie, wenn Sie abstrakte Modelle von Dingen wie Code in Ihrem Kopf erstellen, Ihre verwenden introvertierte Funktion, die umgekehrt funktioniert. Das Recht möchte dieses Modell im Voraus erstellen und dies so tun, dass es alle notwendigen Details oder einfach ausfüllt kann Füllen Sie alle Details aus. Außerdem könnten sie in Bezug auf den besten Ansatz starr werden (beachten Sie, dass Sie eine harte Linie darüber nehmen, wie Sie sich über C ++ von Fortschrittsfunktionen fühlen). Das Modell der Linken wird mehr Ad -hoc und ausgefüllt sein, wenn sie gehen.

Meine Erfahrung ist, dass die Linken die Rechten beschuldigen, alles zu überbereiten, während die Rechten die Linken beschuldigen, zu schnell und schmutzig zu sein. Beide Seiten haben ein Körnchen Wahrheit, aber nur, wenn dieser Ansatz auf das Extrem geführt wird. Hier ist jedoch lustig: Sie verfolgen entgegengesetzte Ansätze, um dasselbe Ziel zu erreichen (das heißt, Dinge zu erledigen). Die Rechten möchten, dass sich ihr Modell vorne entscheiden lassen, damit sie weniger Zeit damit verbringen können, das Ding zu implementieren und daher das gesamte Projekt früher zu erledigen. Die Linken möchten weniger Zeit verbringen, um die Dinge früher zu erledigen.

Übrigens werden diese beiden Einstellungen in Bezug auf das Projektmanagementtyp (Bestimmung von Zeitplänen, Anforderungen usw.) rückgängig gemacht. Dies kann zu einer wirklich verwirrenden Situation führen, in der eine Seite die andere beschuldigt, zu starr zu sein, während die andere behauptet, dass die andere Seite nicht genug plant, und dann hat das nächste Argument beide Seiten die genau entgegengesetzte Haltung.

Was können Sie gegen all das tun? Nichts anderes, als sich dieser Unterschiede bewusst zu sein und zu versuchen, die Ansicht der anderen Seite so weit wie möglich zu begleiten. Das Problem ist jedoch, dass dies in beide Richtungen geht. Sie können die Linken so weit wie möglich verstehen und unterbringen, aber das macht keinen großen Unterschied, es sei denn, sie versuchen, den Gefallen zurückzugeben. Dies ist immer die Herausforderung. Nicht weil die Linken Arschlöcher sind und das Leben der Rechten unglücklich machen wollen, sondern weil die Linken daran gewöhnt sind, im Bereich Programmierung dominant zu sein. Wenn Ihre Denkweise von so ziemlich allen anderen wiedergegeben würde, wären Sie ziemlich überzeugt, dass Sie auch Recht haben.

Vertraue deiner Intuition. Wenn Sie ein guter Profi sind, bedeutet dies, dass Sie unabhängig von Ihrer "Gehirnigkeit" - links oder rechts - Dinge, die die linke Gehirnhälfte tun, bewusst tun können, können Sie intuitiv tun. Am Ende ist es dasselbe. Leider kontrollieren wir unser Unterbewusstsein nicht, aber es macht den Job schneller als unser Bewusstsein, wenn es überhaupt tut. Diese intuitiven Erkenntnisse aus dem Nichts sind genau die Ergebnisse unbewusster Berechnungen.

Oh, und Sie können scheitern, es ist zu unzuverlässig. Aber seit du gefragt hast ...;)

Ich denke auch visuell und die Details der Typografie schlägen mich.

Google -Begriffe: Britisch -Legasthenie -Site auch Lernstile: visuelles räumliches Denken, ganzes Lernen.

Konzepte zuerst Tipps danach

  1. Richtige Menschen stellen sich alles in ihrem "Geistes Auge" vor.
  2. Wenn Ihre Visualisierung der Realität gut entspricht, ist die Arbeit einfach
  3. Rechte Denker, die nicht gut links, gut denken, müssen sich auf die Visualisierung verlassen
  4. Richtige Lernende lernen das Ganze gleichzeitig 'Aha!' Gehen Sie dann Details in das mentale Konstrukt ein. Sie brauchen zuerst die Übersicht, dann Details.
  5. Ohne einen Überblick über den Kontext schweben die Details in einem Vakuum, das nicht im Auge des Geistes verbunden ist - so dass das Auswendiglernen von Brute Force verwendet werden muss. Sehr hart für die richtigen.

Tipps, die mir geholfen haben:

  • 1 Verwenden Sie Farbe, um Syntaxteile zu unterscheiden
    1. Schreiben Sie Pseudocode des Code, den Sie debuggen: Dies geschieht.
    2. Wenn die Objekte beispielsweise echte Tiere wären, hätten sie Gewohnheiten und erwartete Verhaltensweisen. Dies ist eine leichter visualisierte Art des Nachdenkens über das Codeing.
    3. Ich stelle mir den Code als Geschichte mit Pseudicode als meine Notizen vor und folge dann dem Vorgang.

  • Welchen Abschnitt, den Sie als nächstes beheben können?

  • Mein Workflow

  • Wer lebt dort? (Prozess, Verbindungen, Daten usw.)

  • Was müssen sie tun? (Funktion) OK

    OK

  • Code es irgendwo, es kann Syntax /Zauber überprüft werden. OK Kopieren und einfügen

  • Prüfen

    Ergebnis -> funktioniert es? Ja, mach weiter

    Nein? Die Charaktere müssen Hamlet, in dem jeder stirbt, auswirken.

  • Rückkehr zur Umgebung-

  • etwas ausgelassen ?, Sysntax Fehler
  • braucht eine Verbindung
  • braucht Daten
  • Fehlercode hat Bedeutung?
  • Es funktioniert in einem anderen Teil des Code?
  • Versionsprobleme?
  • Es soll funktionieren
Lizenziert unter: CC-BY-SA mit Zuschreibung
scroll top