Kurz gesagt, ist der beste Weg zu lernen , im Allgemeinen mit jemandem hängen Sie lernen können , aus . Wenn Sie das Gefühl haben, dass Ihre Fähigkeiten nicht auf dem neuesten Stand sind, ist es das Beste, mit Leuten zusammen zu sein, die besser sind als Sie. Sicher viel besser als sich zurückzuziehen und weiter zu isolieren.
Ich denke jedoch, dass Sie ein sehr vereinfachtes und irreführendes Bild zeichnen. Bei weitem nicht alle "professionell unterrichteten" Programmierer sind wirklich gut. Nur weil sie etwas tun, heißt das noch lange nicht, dass es das Richtige ist.
Und vieles (aber nicht alles) von dem, was du sagst, hört sich wirklich so an, als ob du derjenige bist, der ihnen einen oder zwei Tricks beibringen könnte .
Ich lehne mich mehr an die funktionale Seite als an OO, aber ich sehe die Verwendung von OO, wenn etwas als abstrakte Entität sinnvoller wäre.
Das hört sich für mich sehr gut an. Die besten Programmierer sind diejenigen, die das richtige Werkzeug für den Job verwenden. Ich würde immer jemanden auswählen, der beide Paradigmen kennt, und jeden von ihnen dort verwenden, wo es Sinn macht, wenn jemand religiös nur ein einziges Paradigma verwendet.
Als nächstes gehe ich auch den einfachen Weg, wenn ich etwas tue. Im Gegensatz dazu ist der Code, den ich von professionellen Programmierern sehe, manchmal kompliziert.
Auch hier ist die Einfachheit gut . Machen Sie nicht Ihren Code komplex , bis sie benötigt werden komplexer. Einige Leute haben neigen dazu , Dinge Komplex aus fehlgeleiteten Vorstellung von Eleganz zu machen, oder weil „wir werden diese zusätzliche Funktionalität benötigen später“. Im Allgemeinen ist es besser, das Einfachste zu tun, um Ihr Problem zu lösen.
Ich benutze viele Verschlüsse. Gut. Deshalb sind sie da. Sie erschrecken einige Leute, die in den 1990ern und Javas veraltetem Quasi-OOP-Modell feststeckten, aber das ist wirklich ihr Problem.
Und schließlich bin ich nicht der beste Kommentator.
Was und wie zu kommentieren ist, ist höchst subjektiv. Es gibt dort kein wirkliches "Richtig" oder "Falsch", aber wenn Sie an einem Team arbeiten, ist es wichtig, Code zu schreiben, den das gesamte Team und nicht nur der Autor des Codes verstehen kann. Und manchmal müssen Kompromisse eingegangen werden, um dem Codierungsstil des Teams zu entsprechen. Das bedeutet nicht, dass Sie mehr Kommentare schreiben sollten, sondern nur, dass Sie und Ihr Team sich darauf einigen müssen.
Ich höre professionell ausgebildete Programmierer über Dinge wie Unit-Tests. Etwas, das ich noch nie benutzt habe, also habe ich keine Ahnung, was sie sind oder wie sie funktionieren.
Nun, frag sie. :) Das Testen Ihres Codes ist unerlässlich, und Unit-Tests sind hierfür ein beliebtes und nützliches Tool.
Viele, viele Unterstriche "_", die nicht wirklich mein Geschmack sind.
Wie beim Kommentieren ist das subjektiv und hängt von der Sprache ab. In C und C ++ lowercase_with_underscores
ist dies eine weit verbreitete Namenskonvention. In vielen anderen Sprachen wird so gut wie nie ein Unterstrich angezeigt. Aber am Ende des Tages ist es wirklich nicht wichtig. Ob eine Funktion aufgerufen wird write_to_log
oder WriteToLog
nicht, wird einen Unterschied machen. Jemand muss es einfach aufsaugen und sich an das halten, was das Team dort vereinbart hat.
Ich weiß nichts über MVC, aber ich habe viel darüber gehört, mit Dingen wie backbone.js. Ich denke, es ist eine Möglichkeit, eine Anwendung zu organisieren. Es verwirrt mich nur, weil ich inzwischen meine eigenen Organisationsstrukturen aufgebaut habe.
Hören Sie wie bei Unit-Tests nie auf zu lernen. Sie arbeiten mit Menschen zusammen, die Dinge wissen, die Sie nicht wissen und die einen anderen Hintergrund haben als Sie. Voneinander lernen Es gibt eindeutig Dinge, die Sie ihnen beibringen können, aber es gibt auch Dinge, die Sie nicht kennen oder von denen Sie noch nie etwas gehört haben und die sie Ihnen beibringen können. Das bedeutet nicht, dass Sie (oder sie) ein schlechter Programmierer sind. Das bedeutet, dass ein guter Programmierer danach strebt, sich zu verbessern und von anderen zu lernen.
Vollständige OO-Programmierung hinterlässt wirklich einen schlechten Geschmack in meinem Mund
Das Gleiche gilt hier, und ich bin das, was Sie als "professionell ausgebildet" bezeichnen würden (ein CS-Abschluss). Menschen, denen das Programmieren beigebracht wurde, unterscheiden sich ebenso wie Autodidakten. Es hört sich so an, als würden Sie mit einigen zusammenarbeiten, die wirklich ein paar neue Tricks lernen müssen.
Tatsächlich habe ich eher Angst davor, dass die Leute irgendwann meinen Code auschecken werden. Ist dies etwas Normales, das ein Programmierer durchläuft, oder sollte ich wirklich versuchen, meine Techniken zu ändern?
Beide. Natürlich ist es beängstigend, wenn andere sehen (und beurteilen), was Sie gemacht haben. Aber es ist auch sehr lehrreich. Sie können Ihnen sagen, was sie anders gemacht hätten oder warum sie es anders gemacht hätten. Sie können Ihnen helfen, sich zu verbessern, und sie können auch selbst etwas lernen. Zeigen Sie ihnen Code, der ein Problem besser löst, als es ihre "bevorzugte" Lösung getan hätte, und hoffentlich gehen sie "oh, das ist ordentlich. Woher wussten Sie, dass Sie das tun? Wie nennen Sie das? Ich sollte diese Technik selbst verwenden "