Wenn ich hypothetisch jemanden für eine neue PHP-Entwicklerposition interviewen würde, wenn ich Erfahrung mit .NET habe, wie kann ich dann feststellen, ob das von ihnen bereitgestellte Codebeispiel effizient und von guter Qualität ist?
Mit anderen Worten, wie lässt sich der Code eines Programmierers am besten bewerten, wenn Sie mit der Sprache nicht vertraut sind?
code-quality
interview
code-reviews
Jason Towne
quelle
quelle
Antworten:
Die Dinge, die Sie nicht bewerten können, sind die korrekte Verwendung von Sprachsprachen und die Verwendung von Bibliotheken. Das sind also keine Dinge, die Sie sich ansehen sollten.
Was Sie bewerten können, ist:
Die obigen Punkte (obwohl nicht erschöpfend) geben an, ob der Code riecht oder nicht und sollten etwas sein, das ein erfahrener Programmierer als gut oder schlecht identifizieren kann.
Kurz gesagt - suchen Sie nach Dingen, die unabhängig von der Sprache auf guten Code hinweisen sollten.
quelle
Lassen Sie sie ein Flussdiagramm erstellen oder führen Sie es im Rahmen des Interviews durch. Sie haben die perfekte Ausrede, um zu fragen, und sie sagt einiges darüber aus, wie sie denken, um zu sehen, wie sie erklären.
Wenn sie zu Ihrer bevorzugten Sprache springen, wissen Sie, dass Sie viel Mentoring haben, also sollten Sie vor allem nach guten Logik- / Argumentationsfähigkeiten suchen.
Wenn sie weiterhin in ihrer bevorzugten Sprache arbeiten wollen, müssen Sie akzeptieren, dass sie mich in Bezug auf die feineren sprachspezifischen Details etwas selbst verwalten, bis jemand anderes auf den neuesten Stand kommt, sodass Sie nur noch interagieren müssen mit ist auch die Design-Seite da.
quelle
Abgesehen von knochenköpfigem / offensichtlich falschem Code hängt die Effizienz weitgehend vom Compiler / Interpreter der betreffenden Sprache ab, und Sie können dies anhand eines Codebeispiels nicht wirklich erkennen. Ein Codebeispiel könnte schön geschrieben und elegant sein wie feines Porzellan auf Deckchen, aber langsam laufen, wenn es schlecht kompiliert / interpretiert wird.
Sie werden die idiomatische Verwendung der Sprachfunktionen / syntaktischen Zucker / Konventionen nicht ohne Vertrautheit bewerten können.
Sie sollten in der Lage sein, anhand allgemeiner Überlegungen wie Ordnung, Kontrollfluss, Benennung von Variablen, Reihenfolge der Operationen usw. zu erkennen, ob es im Allgemeinen gut geschrieben ist.
Wenn Sie jedoch wissen, welche Sprache in den Prozess einfließen wird, können Sie in der Praxis versuchen, einen oder mehrere Styleguides für diese Sprache zu finden, in den Buchladen zu gehen und ein paar Bücher für diese Sprache durchzublättern Überfliegen Sie die Codebeispiele und suchen Sie nach Analoga zu etwas, das Sie in der Sprache Ihrer Wahl kennen. Schauen Sie sich ein oder mehrere Open-Source-Projekte an, die diese Sprache verwenden, und so weiter.
Wenn Sie Zeit haben und es keine Kostenbarriere gibt, können Sie sogar eine Entwicklungsumgebung für diese Sprache einrichten und eine Hello World-App erstellen, eine Code-Kata erstellen oder auf andere Weise eine einfache kleine App schreiben drin. Sie werden ziemlich schnell einen rudimentären Bezugsrahmen entwickeln, der Ihnen nicht nur die Möglichkeit gibt, den betreffenden Code zu überprüfen, sondern Sie werden möglicherweise von der Sprache gezwungen und verzweigen sich ein wenig.
quelle
Unabhängig von der Sprache:
Nicht zu sagen, dass jeder Code, der nicht alle diese enthält, automatisch schlecht ist, aber ich würde dies als Indikatoren für jemanden betrachten, der über seine Praxis nachgedacht und sie in Betracht gezogen hat.
Bei all diesen Indikatoren sollten Sie sich jedoch fragen, aus welchen Gründen der Code so aussieht. Es kann einen guten, sprachspezifischen Grund für ihre Wahl geben ... und danach ist Google Ihr Freund, wenn sie und die anderen Kandidaten weggehen, da Sie überprüfen können, ob das, was sie gesagt haben, plausibel klingt ...!
Viel Glück, denn die Einstellung guter Leute ist eine der wichtigsten Rollen in Ihrer Organisation;)
quelle
Sie sollten jemanden, der die betreffende Sprache kennt, bitten, zum Interview zu kommen oder sich das Beispiel anzusehen. Solch eine Person wird viel wahrscheinlicher die schlechten Stellen finden, wenn überhaupt.
Wird der Kandidat in einem Team arbeiten? Lassen Sie sich von den Teammitgliedern treffen und Fragen zu seinen Fähigkeiten stellen.
quelle
Fragen Sie sie nach den Einschränkungen, auf die sie bei der Verwendung der Sprache gestoßen sind. Bitten Sie sie, Ihnen eine einfache SQL-Abfrage zu zeigen. Jeder PHP-Entwickler, der einen Schrei wert ist, sollte in der Lage sein, eine grundlegende Abfrage zum Auswählen / Aktualisieren / Löschen ohne allzu großen Aufwand auszuführen.
Doug
quelle