Schon als Student werde ich gebeten, den Code von Programmierern zu überprüfen, die einen Test (nicht) bestanden haben (eine Liste von Fibonacci-Zahlen auf Android erstellen).
Während ich den Codierungsstil sehr streng halte, habe ich nur etwas über den "Block" -Stil gelesen, den jemand verwendet hat (siehe Kommentare!) .
In meiner Position würde ich empfehlen, keinen Mann einzustellen, der diese Art von Stil verwendet. Der Code ist das Gegenteil des in meiner Firma verwendeten Codierungsstils.
Bei der Suche nach Coding-Stil und wie man mit einem Mangel umgeht, bin ich neugierig auf eine Sache: Soll ich einen Typ einstellen, der ihn haben wird?ernsthafte Schwierigkeiten Anpassen des in der Firma verwendeten Codierungsstils?
Bitte: Dies sollte keine Diskussion über den Codierungsstil im Allgemeinen sein und welcher ist besser. Es geht um die Bedeutung des Codierungsstils für die Entscheidung, jemanden einzustellen!
Mehr Informationen:
Ich bin nicht der Typ, der die Entscheidung trifft, ich gebe nur meine Meinung basierend auf Code. Der Typ muss ein Interview bestehen, in dem unser Leiter die Soft Skills überprüft. Wenn er das bestanden hat, muss er unsere kleine Fähigkeitsprüfung bestehen und hier werde ich manchmal gebeten, den geschriebenen Code zu überprüfen. Ich bin nicht in der Lage, Ja oder Nein zu sagen. Ich möchte nur wissen, wie wichtig der Codierungsstil für meine Überprüfung sein sollte ...
quelle
Antworten:
Woher weißt du, dass er Schwierigkeiten haben wird, sich anzupassen? Nur weil sie einen anderen Codierungsstil verwenden? Das ist ziemlich anmaßend. Ich bin seit langer Zeit ein Auftragnehmer, und egal, welcher Codierungsstil verwendet wird, passen Sie sich an. Es kann einige Zeit dauern, aber die Gewohnheiten bilden sich ziemlich schnell.
Ich hoffe, dass Sie mit Codierungsstil nicht nur Einrückung und Layout des Codes meinen. Mit einem Code-Formatierer lässt sich das leicht erledigen und in Ihr Versionskontrollsystem integrieren.
Unter Codierungsstil versteht man Dinge wie Benennung, allgemeine Reihenfolge, Einheitentrennung und alles andere, was mit Lesbarkeit und Wartbarkeit zu tun hat. Das Wichtigste am Codierungsstil ist, dass Sie einen haben. Nicht welches. Kein Codierungsstil ist eine eindeutige rote Fahne.
Das zweitwichtigste an jedem verwendeten Codierungsstil ist, dass er konsequent verwendet wird. Wenn jemand einen Codierungsstil zu verwenden scheint, aber häufig dagegen "sündigt", ist dies eine weitere eindeutige rote Flagge.
quelle
Lassen Sie mich einen Punkt hervorheben, der bei Hunderten von verschiedenen Projekten für fast hundert verschiedene Kunden programmiert wurde.
Der Codierungsstil (und das Streiten über den Codierungsstil) ist reine Zeitverschwendung.
Komm darüber hinweg.
Ich habe viel Code von vielen verschiedenen Programmierern gelesen. (Nehmen Sie eine mittlere Teamgröße von 5 und 100 verschiedenen Teams an. Das sind 500 Mitarbeiter.) Der Stil spielt keine Rolle.
Ich habe hübschen, aber pathologisch falschen Code gesehen.
[Es gibt eine Grenze. Vorsätzliche Verschleierung ist Kündigungsgrund. Kurz gesagt, Stil ist Zeitverschwendung.]
Coding Style ist die "letzte Grenze"
Wenn Sie alle Probleme der Softwareentwicklung gelöst haben; wenn Sie mehr oder weniger sofort fehlerfreien Code erstellen können; Wenn Ihr Qualitätsniveau so hoch ist, haben Sie keine Fehlerbehebungswarteschlange mehr. Wenn Ihre Benutzerfreundlichkeit so fabelhaft ist, haben Sie keinen Helpdesk mehr. Wenn Sie in der Lage sind, rücksichtslos zu optimieren, bis Sie keine Serverfarm mehr haben, sondern das Unternehmen von einem iPad aus betreiben ...
Wenn nichts mehr zu beheben ist, können Sie sich endlich auf den Codierungsstil konzentrieren.
Bis dahin gibt es zahlreiche Themen, die größer und wertvoller sind als der Stil.
quelle
//Important
in jeder Zeile verwenden. Hm. Jede Codezeile ist wichtig oder sollte gelöscht werden.Die Beurteilung von Programmierern anhand des Codierungsstils ist zu 50% snobistisch und zu 50% unsicher.
Ich möchte, dass mein Code ordentlich und sauber aussieht, und es klingt so, als ob der Typ, auf den der OP im Link zerlumpt ist, es auch tut. Unser Code sieht nicht gleich aus, aber wir verwenden beide einen Stil, der uns hilft, den Code zu verstehen, wenn wir darauf zurückkommen. Ich hatte überhaupt keine Probleme, seinen Code zu verstehen, und ich bezweifle, dass das OP es auch tat. Der Codierungsstil "Beratung" ist nichts anderes als eine einfache, billige Aufnahme, in der Sie Ihre immense Weisheit darüber vermitteln können, warum geschweifte Klammern in der nächsten Zeile stehen sollten. Es spielt überhaupt keine Rolle. Was das Lesen von Code erschwert, ist:
Ich habe Probleme, mir Code vorzustellen, der keine der oben aufgelisteten Funktionen ausführte, aber dennoch schwer zu lesen war, insbesondere mit einem Tool wie Style Cop.
quelle
Es ist lächerlich , dass das Code-Format eine Rolle bei der Entscheidung spielt, jemanden einzustellen.
Einen guten Entwickler nicht einstellen, weil er kein Leerzeichen nach einem Komma einfügt, ist albern.
quelle
Ich nehme an, Sie haben einen offiziellen Formatierungsstil in der Firma.
Anschließend können Sie jede Quelle ganz einfach auf den offiziellen Stil umformatieren. Dies geschieht vorzugsweise automatisch, sobald die Quelldatei gespeichert wird.
Jeder Programmierer, der sein Salz wert ist, wird es lieben, weil es eine höhere Qualität durch Minimierung der Unterschiede für Commits gewährleistet.
quelle
Verwenden Sie StyleCop
Wenn Sie Visual Studio verwenden, können Sie bei der Kompilierung immer StyleCop-Regeln erzwingen, um sicherzustellen, dass Ihr Code mindestens lesbar ist.
CVS-integrierte Code-Formatierung = optimale Lösung
Es wäre wirklich großartig, wenn einer der CVS die automatische Code-Formatierung beim Einchecken unterstützen würde. Sie haben nur Ihre Stilprioritäten festgelegt, der Code wurde vor dem Speichern formatiert. Das würde den Entwicklerspezifischen Stil in Bezug auf die Code-Formatierung überflüssig machen. Ich kann das Problem erkennen, wenn einige Entwickler unterschiedliche Einrückungszeichen verwenden. Es ist für mich nicht so problematisch, anderen Code zu betrachten (und ich kann ihn einfach und schnell neu formatieren), aber DIFF ist schwieriger zu handhaben. Viele False Positives im DIFF-Tool.
quelle
Weit unter den folgenden viel wichtigeren Details:
Codierungsstile können von den meisten Personen erlernt werden, bei denen die letzten beiden oben aufgeführt sind.
Im Allgemeinen sehe ich jedoch vor dem letzten Interview ein Codebeispiel, und wenn der Codierungsstil weit von dem entfernt ist, was wir verwenden, werde ich mich auf Fragen konzentrieren, die ihre Anpassungsfähigkeit offenbaren.
quelle
Solange der Stil konsistent ist und diese Person sich an einen anderen Stil anpassen (ändern) kann, sehe ich keine Probleme.
Wenn sich der aktuelle Stil von dem unterscheidet, was Sie verwenden, bedeutet dies nicht, dass er schlecht ist. Für den Kandidaten mag es durchaus Sinn machen.
Genau wie andere gesagt haben, könnte es das einzige Problem sein, Probleme beim Anpassen zu haben.
quelle
Ich würde nicht sagen, dass dies definitiv keine Einstellung ist, aber es ist ein starkes Argument gegen diese Person.
Ich würde mich eigentlich nicht um den Codierungsstil kümmern, sondern darum, dass diese Unfähigkeit, sich anzupassen, ein Symptom eines allgemeinen Problems ist. Ich hätte Angst, dass der Kandidat Schwierigkeiten haben könnte, sich auch auf andere Aspekte der Teamkultur einzustellen.
Wenn Sie sich nicht mit Pascal anstelle von Kamelhüllen beschäftigen können, haben Sie möglicherweise Probleme, sich daran zu erinnern, eine neue Charge Kaffee zu trinken, wenn Sie die letzte Tasse nehmen würden. So etwas kann dem Team wirklich schaden.
(Und ja, ich bin koffeinsüchtig.)
quelle
Meiner Meinung nach ist ein guter Codestil für die Arbeit mit einem Programmierer unerlässlich.
Einen guten Code-Stil zu haben, ist eine Frage der persönlichen Entwicklung. Es ist ein Indikator, welches Level dieser Programmierer bereits erreicht hat.
Die Frage ist, ob Ihr Unternehmen "High Professionals" oder "High Potentials" will. Wenn Sie "High Professionals" benötigen und keinen Raum zum Lernen und Entwickeln haben, ist der Code-Stil ein ausschlaggebendes Kriterium.
Wenn es Raum für Weiterentwicklung und die Entwicklung von Programmierern gibt, sollten Sie auf seine Fähigkeit achten, schnell zu lernen oder kreativ zu denken.
quelle