Erstens bin ich der Betreuer von PHP_CodeSniffer, also bin ich in diesem Bereich eindeutig voreingenommen. Aber ich habe auch in meinen 10 Jahren als PHP-Entwickler an einigen großen Codebasen gearbeitet, also hoffe ich, dass ich einige konkrete Gründe mitbringen kann, warum Codierungsstandards eine gute Sache sind. Ich könnte eine Blog-Serie zu diesem Thema schreiben, aber ich werde dir nur eine kleine Geschichte darüber erzählen, wie PHP_CodeSniffer zustande kam, damit du das Problem verstehen kannst, das das Tool für mich gelöst hat.
Ich habe an einigen großen CMS-Projekten gearbeitet. Der erste hatte einen Haufen Code und ein relativ kleines Entwicklerteam. Wir hatten keine Standards. Aber wir hatten keine wirklichen Probleme. Das Team war klein und blieb eine ganze Weile zusammen. Wir haben uns aneinander gewöhnt.
Dann haben wir ein neues CMS gebaut. Wir haben mit ein paar Entwicklern angefangen. Ich war damals Teil eines Teams von nur zwei Entwicklern. Auch hier haben Codierungsstandards uns keine Probleme bereitet. Ich und der andere Entwickler kamen aus dem gleichen Hintergrund und hatten bereits einige Richtlinien festgelegt, denen wir folgten. Wir brauchten PHPCS damals nicht.
Aber dieses Team wuchs zu einem Zeitpunkt Entwickler und erreichte schließlich 12 Vollzeit-Entwickler und etliche kamen und gingen. Einige kamen aus dem alten CMS und einige kamen von außerhalb des Unternehmens. Alle hatten unterschiedliche Hintergründe und einen anderen Entwicklungsansatz. Es war offensichtlich, wer welchen Code geschrieben hat, weil die Stile so unterschiedlich waren. Wann immer Sie an etwas Komplexem gearbeitet haben, mussten Sie sich zuerst an ihren Stil anpassen, weil es einfach nicht so war, wie Sie es gewohnt waren, Code zu sehen. Es ist, als würde man Shakespeare zum ersten Mal lesen. Sie müssen sich daran gewöhnen, bevor Sie in Ihrem natürlichen Tempo lesen können.
Für Entwickler, die zusätzliche Zeit zu stoppen und herauszufinden, eine andere Codierung Stil ist nur reine verschwendete Zeit. Es ist eine Chance für eine Idee, weg zu rutschen, während Sie mit Abstand, Einrückung und Klammerposition festgefahren sind. Am Ende des Tages spielen diese Dinge keine Rolle. Aber lassen Sie mich Ihnen sagen, sie spielen eine große Rolle, wenn sie Entwickler dazu bringen, ihren Fluss zu unterbrechen. Wir brauchten also einen Weg, um sie aus dem Weg zu räumen und die Entwickler das tun zu lassen, was sie am besten können.
Gleichzeitig haben wir uns viel mehr mit JavaScript beschäftigt. Eine neue Sprache, in der Stil generell aus dem Fenster geworfen wurde. Der Code wurde von Beispielwebsites kopiert und eingefügt und zusammengemischt. Als wir lernten, komplexen Code in einer neuen Sprache zu entwickeln, war es sinnvoll, einen Weg zu finden, unser JS ähnlich wie unser PHP aussehen zu lassen. Wir können es später minimieren, aber wir mussten in der Lage sein, schnell zwischen den Sprachen zu wechseln, um unseren Fluss zu halten.
So PHP_CodeSniffer wurde geboren, um das zu tun. Es hilft Entwicklern, nach dem gleichen Codierungsstil zu arbeiten, um Formatierungen und andere Flammenköder vollständig aus dem Weg zu räumen. Es erlaubt Ihnen, Ihre JS wie Ihr PHP in gewissem Umfang zu behandeln. Ich verwende es, um produktspezifische Gerüche wie nicht übersetzte Zeichenfolgen oder Entwickler zu erkennen, die nicht unseren richtigen Klasseneinschlusscode verwenden. Ich verwende es auch für sprachspezifische Gerüche wie zum Beispiel dafür, dass JS-Komma, das den IE tötet, nicht übrig bleibt. Sie können es für alles verwenden, was Sie wollen. Es kommt mit Haufen von Sniffs, die einfach zusammen mit der XML ruleset file zusammengeführt werden können. Sie können auch Ihre eigenen schreiben.Sie können Drittanbieter-Tools integrieren, um es zu einer zentralen Anlaufstelle für statische Code-Analysen zu machen. Du kannst so ernst mit Standards und Code-Gerüchen sein, wie du willst.
PHP_CodeSniffer, wie jedes Entwicklungswerkzeug, sollte für Sie arbeiten. Du arbeitest dafür nicht. Wenn zu viele Fehler erzeugt werden, die Sie nicht interessieren, passen Sie den Standard so an, dass er diejenigen entfernt, die Sie nicht möchten, oder machen Sie die Fehler zu Warnungen. Aber wenn sich meine Geschichte wie etwas anhört, das Sie durchmachen oder in Zukunft durchmachen, lohnt es sich, sich PHP_CodeSniffer genauer anzusehen, um zu sehen, ob es Ihnen helfen kann.
Ich hoffe, dass Sie und andere verstehen, warum Coding-Standards für einige Projekte und Entwickler wirklich wichtig sind. Es geht nicht um das Detail. Es geht darum, den Codierungsstil aus der Liste der Dinge zu entfernen, bei denen Entwickler den Fokus verlieren.
Es erstaunt mich immer wieder, wie ich scheinbar gute, informative Fragen zu SO finde, die "als nicht konstruktiv" geschlossen werden. –