Dieses Programmierstil-Dokument hat eine allgemeine Regel:
Die Regeln können verletzt werden, wenn starke persönliche Einwände dagegen erhoben werden.
Dies kollidiert mit der Art und Weise, wie ich denke, und es gibt viele Artikel, die besagen, dass der Codierungsstil tatsächlich wichtig ist. Zum Beispiel das sagt:
In einem Kodierungsstandarddokument wird den Entwicklern mitgeteilt, wie sie ihren Code schreiben müssen. Anstatt dass jeder Entwickler in seinem eigenen bevorzugten Stil codiert, schreibt er den gesamten Code gemäß den im Dokument beschriebenen Standards. Dies stellt sicher, dass ein großes Projekt in einem konsistenten Stil codiert wird - Teile werden von verschiedenen Programmierern nicht unterschiedlich geschrieben. Diese Lösung erleichtert nicht nur das Verständnis des Codes, sondern stellt auch sicher, dass jeder Entwickler, der sich den Code ansieht, weiß, was ihn in der gesamten Anwendung erwartet.
Verstehe ich etwas aus diesem Dokument und dem Zitat oben in dieser Frage falsch ? Können die Leute den Codierungsstil wirklich einfach ignorieren?
Vielleicht war ich nicht klar genug, also werde ich mit dieser Bearbeitung ein bisschen klarstellen.
Ich schreibe das Coding-Style-Dokument für unser Team und möchte den Style mithilfe einiger statischer Analysatoren überprüfen. Wenn dies fehlschlägt, sendet Jenkins E-Mails. Und ich möchte die Codeüberprüfung nicht bestehen, wenn der Stil nicht übereinstimmt. Dies kollidiert eindeutig mit dem ersten Zitat.
Aber wenn das Zitat stimmt, wozu dient dann das Dokument mit dem Codierungsstil, wenn jeder tun kann, was er will?
quelle
Antworten:
Soweit ich das beurteilen kann, ist die Aussage, die Sie verwirrt hat, ein pragmatischer Kompromiss, der gemacht wurde, damit die Leitlinien ein möglichst breites Publikum ansprechen. Abhängig von Ihrem spezifischen Kontext (mehr dazu weiter unten) haben Sie möglicherweise die Möglichkeit, ihn anzupassen und die Richtlinien effizienter zu nutzen.
Sie sehen, Leitlinien beziehen sich auf "starke persönliche Einwände" als Mittel zur Rechtfertigung von Verstößen. Solche Einwände sollten nicht leichtfertig ignoriert werden, insbesondere wenn sie von erfahrenen Entwicklern stammen.
Diese Einwände mögen falsch sein, aber (und das ist sehr, sehr GROSS) sie können auch darauf hinweisen, dass eine bestimmte Regel falsch ist - entweder im Allgemeinen oder im Kontext des jeweiligen Projekts (ein Beispiel für eine Regelübereinstimmung muss angegeben werden) detaillierte Protokollierung in leistungskritischen Code).
Ich denke, dass jeder vernünftige Styleguide das oben Gesagte berücksichtigen und versuchen sollte, einem möglichen Bedürfnis Rechnung zu tragen, sich selbst anzupassen. Wenn der Leitfaden, der Sie verwirrte, nur auf ausgereifte Teams mit effizienten und reibungslosen Prozessen und Umgebungen abzielte , könnte dies viel weniger eindeutig formuliert werden, zum Beispiel so:
Vielleicht gefällt Ihnen das oben Genannte besser und Sie möchten, dass es überall für alle so ist, aber schauen Sie sich diesen Teil "Herausforderung wird gestellt / ignoriert / angepasst" genauer an und fragen Sie sich, wie er umgesetzt werden kann. Fragen Sie sich, wie lange es je nach Projekt und Team dauern kann . Wenn es eine Stunde dauert, ist das akzeptabel? Was ist, wenn es einen Tag, eine Woche oder einen Monat dauert?
Wie Sie sehen, könnte dieser Ansatz des Herausforderns und Ignorierens bis zur Lösung eine breite Tür für Missbrauch öffnen, wenn er als Leitfaden für ein Projekt präsentiert wird. "Ja, ja, wir hören Sie, machen wir es so, wie es der Leitfaden sagt. Füllen Sie zuerst dieses Herausforderungsformular aus und holen Sie die Genehmigungen für CEO / CFO / CTO ein. Erwarten Sie, dass dies ein oder zwei Wochen dauert. Warten Sie danach, bis wir unsere Codeprüfungen aktualisieren ; das kann noch ein oder zwei Wochen dauern. Stellen Sie in der Zwischenzeit sicher, dass Ihr leistungskritischer Code ordnungsgemäß formatierte Protokollanweisungen über jeden Registerbewegungsvorgang erbricht. "
Ich kann die Gedanken der Autoren des Leitfadens nicht lesen, aber es scheint vernünftig anzunehmen, dass sie es vermeiden wollten, es zu verwenden, um ein Durcheinander wie oben beschrieben zu rechtfertigen. Aus dieser Perspektive ist es einfach sicherer, klar zu sagen, dass der Leitfaden keine Durchsetzung voraussetzt - so ungeschickt er auch sein mag, er kann für eine willkürlich breite Palette von Teams und Projekten verwendet werden. Es besteht wahrscheinlich die Erwartung, dass ein derart umfangreiches Angebot ausgereiften und effizienten Teams die Möglichkeit bietet, es einigermaßen einzugrenzen, ohne die Entwicklerproduktivität zu beeinträchtigen.
Angewandt auf Ihren speziellen Fall, Schreiben des Codierungsstildokuments für Ihr Team und Fehlschlagen der Codeüberprüfung, wenn der Stil nicht übereinstimmt. Ich denke, Sie müssen herausfinden, wie lange es möglicherweise dauern kann, bis Entwickler eine bestimmte Regel in Frage stellen. Lassen Sie sie ignorieren. aufgelöst und je nach Auflösung entweder geändert oder wiederhergestellt.
Wenn Sie einen Weg finden, wie Sie diesen Prozess zum Laufen bringen können, ohne viele Hindernisse in Ihren Entwicklungsworkflow zu bringen, sollten Sie in der Tat einen formalisierten und einfach zu verfolgenden Ansatz für die Herausforderung / Lösung in Betracht ziehen, anstatt das chaotische "Verletzen, wenn Sie laut genug weinen".
Als Randnotiz möchte ich ansprechen, was Sie in einem anderen Kommentar geschrieben haben : "Angenommen, der Codierungsstil ist ideal, und wenn dies nicht der Fall ist, usw."
Das ist wirklich eine gefährliche Annahme. Ich habe mir die Nase gebrochen (zweimal! In einem einzigen Projekt! Ich hatte große Erfahrung und stellte mir vor, dass ich alles darüber weiß, mache eine gute Figur) und empfehle Ihnen dringend, es fallen zu lassen. Es ist sicherer anzunehmen, dass der Styleguide Fehler enthält, und sich Gedanken darüber zu machen, was zu tun ist, wenn solche Fehler entdeckt werden.
quelle
Es ist eine schlechte Idee, Menschen zu erlauben, Codierungsstile aufgrund persönlicher Vorlieben zu ignorieren .
Das Zitat in Ihrer Frage scheint jedem Entwickler die Möglichkeit zu geben, einfach zu sagen: "Ich werde diesen Stil nicht verwenden, weil er mir nicht gefällt."
Dies steht im Widerspruch zu dem ganzen Punkt, dass alle im Team die gleichen Maßnahmen ergreifen müssen, um Konsistenz und Lesbarkeit zu gewährleisten.
Ich stimme zu, dass ein Stildokument mit einer solchen Aussage wahrscheinlich sinnlos ist.
Trotzdem ist eine gewisse Flexibilität bei der Einhaltung der Stilrichtlinien ratsam:
Fazit: Ermöglichen Sie Flexibilität bei der Einhaltung von Stilrichtlinien, um die Anforderungen Ihres Teams bestmöglich zu erfüllen - jedoch nicht aus willkürlichen Gründen wie persönlichen Vorlieben.
quelle
Es gibt Codierungsstile und Stilrichtlinien, mit denen der Code besser lesbar gemacht werden kann. Und Lesbarkeit hilft bei der Komplexität.
Daher kommt es letztendlich darauf an, wie viel es hilft, die Dinge verständlich zu machen, wenn Sie gegen den Kodierungsstil verstoßen (ich würde es als anpassen bezeichnen), der Ihren organisatorischen Anforderungen entspricht.
Denken Sie daran, dass alles, und ich betone, ALLES, von der OO-Programmierung über funktionale Paradigmen bis hin zu verschiedenen Nebenläufigkeitsmodellen, nur aus dem Grund existiert, um den Menschen beim Umgang mit Komplexität zu helfen.
quelle
Organisationen entscheiden sich für Coding-Stile - es ist nicht unbedingt erforderlich, dass das überhaupt vorhanden ist.
Das Zitat, das Sie gerade lesen, befasst sich mit dem größten Problem, das ich in Bezug auf das Codieren von "Style" und echten Superstar "Hackern" sehe - Sie bringen einen neuen Typen an Bord und er schreibt Code, der Zombies fallen lässt und Ihre alten Server schnell zum Schreien bringt. .. aber sein Codierungsstil unterscheidet sich von Ihrem "akzeptierten Organisationsstil". Er weigert sich, sich zu ändern, und der Prozess, um jeden dazu zu bringen, sich seinem bestimmten Stil anzupassen, wird zeitaufwändig und teuer sein. Was jetzt?
Die meisten der Super - Hacker ich weiß , kommen mit Egos genauso groß wie ihre Fähigkeiten, und sie wollen , dass die Organisation anzupassen ihnen , nicht umgekehrt. Vielleicht sollte Ihr Kodierungsstil-Standard eher einer Kodierungsstil-Richtlinie ähneln, damit Sie diesen Killer-Hacker mit einer gewissen Stilabweichung weiterhin blitzschnellen und erstaunlichen Code schreiben lassen können, aber stellen Sie sicher, dass alle anderen das verstehen, bis sie seinen epischen Hacker erreichen Status, müssen sie die Regeln befolgen (oder sogar helfen, nach ihm aufzuräumen).
Natürlich ist dies ein Management-Albtraum, aber das Managen von Tech-Leuten ist im Allgemeinen sowieso ein bisschen wie das Hüten von Katzen. Die meisten Unternehmen haben "Stilrichtlinien" und keine "Stilstandards". Und Builds schlagen nicht fehl, und Codeüberprüfungen schlagen nicht automatisch aufgrund von Stilverstößen in allen Unternehmen fehl. Sie können entscheiden, welches Management-Problem Sie haben möchten - erlauben Sie Superstar-Hackern und haben Sie "Richtlinien" oder verlieren Sie die Superstars und haben Sie ein einheitlicheres Code-Styling.
quelle
Es hängt davon ab, ob.
Der Ort, an dem ich gerade bin, hat keinen Styleguide und es ist keine große Sache. Es gibt einige geringfügige Unterschiede zwischen den Programmierern, die jedoch die Lesbarkeit, Auffindbarkeit oder Konsistenz in keiner sinnvollen Weise beeinträchtigen. Und wir haben eine ausreichend große Gruppe und eine ausreichend starke Kultur, um sicherzustellen, dass jedes neue Mitglied des Teams in die Reihe fällt (oder auch).
In früheren Unternehmen sind wir schnell gewachsen und hatten einige Leute, die mit der Sprache und ihren Redewendungen nicht vertraut waren. In dieser Firma bedeutete der Zustrom von Menschen, dass es keine Kultur gab, die gutes Schreiben erzwang. Und die Leute, die neu in der Sprache waren, meinten, es gab eine Menge Dinge, die angepasst werden mussten. Dort waren automatisierte Stilprüfer der effizienteste Weg, die Anpassungen vorzunehmen, und ein aktueller schriftlicher Leitfaden war der beste Weg, die neuen Leute in unseren Erwartungen zu schulen.
Persönlich kümmere ich mich nicht sehr um Styleguides und noch weniger um die automatisierte Durchsetzung von Styles. Wenn die Person nicht einmal die grundlegenden Redewendungen aufgreifen kann, warum beschäftigen Sie sie dann als Programmierer? Und wenn sie so schlecht im Team sind, dass sie ständig Code schreiben, mit dem andere nur schwer arbeiten können, warum beschäftigen Sie sie überhaupt?
quelle
Dies ist eher ein psychologischer Trick als eine wörtliche Interpretation, wie Codierungsstile am besten gehandhabt werden können. Es macht das Team / Unternehmen / Manager / Leiter weniger autoritär. Ich würde mich eher auf situative Ausnahmen als auf persönliche konzentrieren. Unabhängig vom Kodierungsdokument besteht das Ziel darin, die Lesbarkeit zu verbessern. Verwirrender Code sollte adressiert und geändert werden, wenn dies als notwendig erachtet wird. Es gibt viele Tools, mit denen Sie sich um die kleinen, mühsamen Dinge kümmern können. Verwenden Sie sie also.
Zu jeder Regel gibt es Ausnahmen. Geben Sie den Menschen "etwas" Spielraum. Je weniger alle an der Akzeptanz der Regeln für den Codierungsstil beteiligt sind (Welcome new guy.), Desto mehr sind sie geneigt, sich wehren zu wollen. Viele Dinge sind schwarz und weiß, aber einige sind offen für Interpretationen.
Das Ziel sollte sein, alle in den Geist der Kodierungsrichtlinien einzubeziehen, anstatt über jedes Detail und jede Interpretation zu streiten.
Ja, es wird eine Zeit geben, in der die Verwendung des Dokuments im Codierungsstil keinen Sinn ergibt und professionelle und erwachsene Entwickler den Unterschied kennen sollten.
quelle
Basierend auf Ihren Änderungen, Ihr Ziel für das richtige Ziel.
Die Verwendung eines Styleguides hat viele Vorteile, aber die beiden wichtigsten sind meiner Meinung nach die Lesbarkeit des Codes zwischen Teammitgliedern und das Fehlen von "albernen" Commits (wie nur Leerzeichen oder zusätzliche Zeilen und dergleichen).
Um Ihr Ziel zu erreichen, sollte der von Ihnen gewählte (oder erstellte) Styleguide einfach und leicht einzuhalten sein. Versuchen Sie, sich wirklich auf das zu konzentrieren, was Sie brauchen. Niemand mag es, zurück zu gehen und riesige Code-Swatches neu zu schreiben, nur um einen Linter glücklich zu machen. Aber es könnte immer noch einen Nutzen geben.
Stellen Sie sicher, dass Ihre Teammitglieder den Styleguide genehmigen. Wenn Sie sie daran festhalten, stellen Sie sicher, dass sie einverstanden sind, oder es wird ein ewiger Kampf.
Stellen Sie sicher, dass Stilverstöße eine "Warnung" und kein "Fehlschlag" sind. Lassen Sie einen Menschen entscheiden, ob der Verstoß auf einen Fehlschlag trifft. Der Grund dafür ist einfach. Ich glaube an einen einfachen Arbeitsablauf. Wenn irgendwo in der "Test" -Phase ein "Fehler" auftritt, können Sie nicht auf die Produktion pushen. Ich benutze es als Sicherheit. Selbst Hotfixes müssen eine Testphase durchlaufen (wenn auch eine kürzere). Können Sie wirklich sagen, dass Sie diese kritische Fehlerbehebung nicht auf die Produktion übertragen, weil jemand ein "anstelle eines" verwendet hat? Was ist mit der Verwendung einer for-Schleife anstelle einer jeden? Was, wenn eine for-Schleife gegenüber jeder Verbesserung aufweist? Sind Entscheidungen, die eine Maschine (Linter) nicht treffen kann, stellen Sie sicher, dass ein Mensch die Warnung beurteilt und die Maschine keinen Fehler verursacht.
Wenn Sie den Styleguide ignorieren, müssen Sie das von Fall zu Fall beurteilen. Stellen Sie sicher, dass die "Abweichung" einen echten Grund hat. Sie werden kommen. Die Aufgabe der Prüfer besteht darin, sicherzustellen, dass es einen guten und keinen trivialen Grund für die Abweichung gibt.
quelle
Ich denke, die Stimmungsmusik hier ist, dass, wenn die akzeptierte Weisheit ist, dass die Codierungsstandards falsch oder unvollständig sind, es das kleinere von zwei Übeln ist, auf das man drängt, wenn die Entwickler im Allgemeinen einverstanden sind, anstatt den mühsamen Prozess des Erhaltens des zu durchlaufen Dokument geändert und erneut überprüft.
Es sollte auch beachtet werden, dass die Richtlinien zur Durchsetzung des Codestandards von gestern normalerweise nicht so sind, wie sie jetzt durchgeführt werden.
Früher haben Sie einfach das Buch am Ende des Entwickler-Schreibtisches hochgehalten und Kapitel und Vers zitiert, warum sein / ihr Code gegen Abschnitt 34.5.5767 verstößt.
Wir haben jetzt statische Codeanalyse- und Autodokumentationstools, die einen Großteil der mühsamen Arbeit mit Codestandards überflüssig machen.
Andernfalls können Sie es dem Entwickler zurückgeben, eine Codeüberprüfung durchführen oder es einfach selbst ändern, wenn Sie dazu neigen.
quelle
Ihre Frage dreht sich um die Abstimmung der beiden Anführungszeichen. Ich denke, was Treecoder geschrieben hat, beantwortet Ihre Frage im Allgemeinen. Es repräsentiert Ihr Leitprinzip in Schreibstilrichtlinien.
Da Sie für die Festlegung der Richtlinien für den Codierungsstil verantwortlich sind (dies ist meine Annahme, da Sie der Verfasser des Dokuments sind), können Sie entscheiden, was optional ist oder nicht, und inwieweit Sie Flexibilität im persönlichen Stil Ihres Dokuments zulassen Mannschaft. Bei Bedarf erhalten Sie ein Feedback. Aber wenn die Richtlinien einmal vorhanden sind, bleiben Sie dabei.
So können Sie die beiden scheinbaren Widersprüche wie folgt in Einklang bringen:
Denken Sie an das erste Zitat, das an Sie als Stilentscheider gerichtet ist, bevor das Leitliniendokument vollständig ist. Wenn ein bestimmter Stilstandard für Ihr Team nicht funktioniert, gilt dies als "starker persönlicher Einwand", und Ihre Richtlinien werden dies widerspiegeln.
Stellen Sie sich das zweite Zitat vor, das an Ihr Team adressiert ist, nachdem das Dokument vollständig ist. Wenn Sie die Richtlinien für das Team festgelegt und das Dokument geschrieben haben, ist es wichtig, dass alle Entwickler in Ihrem Team die Stilrichtlinien einhalten.
quelle
Es spielt keine Rolle, welchen Codierungsstil die Leute haben, solange sie einen Codierungsstil haben. Wenn ein Unternehmen auf einem Kodierungsstil besteht, tritt es ungefähr 49% seiner Entwickler auf die Zehen.
Das Problem ist, dass es einer großen Anzahl von Entwicklern nichts ausmacht, ihren Codierungsstil an einen in einem Unternehmen vorherrschenden Standard anzupassen, ihnen aber sehr viel daran liegt, von denen erzählt zu werden, die sich besser mit Unternehmenspolitik auskennen (oder sich nur mehr um sie kümmern).
Das bedeutet, dass die Erstellung eines Kodierungsstandards eine enorme Zeitverschwendung, eine Quelle endloser Auseinandersetzungen, die Ursache für unendlichen Groll und insgesamt einen enormen Zeit- und Energieverbrauch bedeuten kann.
quelle
Ich habe mich jahrelang mit Richtlinien für Codestile auseinandergesetzt, wie viele andere in diesem Forum. Dies schließt sowohl Kampfstil-Anleitungen ein, die ich für verabscheut halte, als auch den Versuch, andere dazu zu ermutigen, Stil-Anleitungen zu verwenden, um ihren Stil zu zügeln, damit er insgesamt besser lesbar ist.
Das Unternehmen profitiert von einem gemeinsamen Kodierungsstandard. Bei der Entwicklung von Software für ein Unternehmen sind viele wichtige Aspekte zu berücksichtigen, beispielsweise, wie wir neue Entwickler darin schulen, den Code der vorherigen Generation zu übernehmen. Wenn Sie Code schreiben, denken Sie nicht immer darüber nach. Tatsächlich entscheiden sich viele Programmierer dafür, nicht einmal darüber nachzudenken, wie andere sich dem Code 5 oder 10 Jahre nach ihrem Tod nähern möchten. Ein Coding-Style-Guide ist eine Möglichkeit für ein Unternehmen, sich auf diese 5- und 10-Jahres-Ziele zu konzentrieren, um Entwicklern die Arbeit im größeren Rahmen zu erleichtern.
Andererseits sind Coding-Style-Guides notorisch unvollkommen, da es nicht möglich ist, einen perfekten Coding-Style zu entwickeln und aufzuschreiben. Tatsächlich stoßen Sie auf lustige Eckfälle, in denen mathematische Beweise allmählich scheitern, wenn Sie versuchen, sie zu perfektionieren. Wir wissen also, dass die Coding-Style-Guides nicht perfekt sind. Sie konzentrieren sich möglicherweise nicht perfekt auf das, was wir 5 bis 10 Jahre später brauchen.
Wenn wir einen Codierungsstil "erzwingen" würden, würden wir später Wert für Wert opfern. Dies würde als "Investition" bezeichnet, wenn wir sicher sein könnten, dass sich unsere Bemühungen auszahlen, aber jeder Entwickler, der mit einem schlecht geschriebenen Programmierstil-Leitfaden gearbeitet hat, kann bezeugen, dass diese "Lesbarkeits" -Vorteile teuer bezahlt werden, wenn er die Entwickler ablenkt weg von ihrem Code. Nach meiner Erfahrung gibt es nur eine sehr kleine Anzahl von Fällen, in denen erzwungene Codierungsstile von Nutzen sind, typischerweise bei Software für Kunden mit einmaliger Gletscherwirkung, bei denen Software 30 oder 40 Jahre lang verwendet werden kann!
Stattdessen empfinde ich es als am effektivsten, einen Coding-Style-Guide als Manifest zu behandeln: "Wir glauben, dass dies der beste Coding-Style für unsere Gruppe ist." Es ist ein Bündel flüssiger Gedanken, die in Worten dokumentiert sind. Das Wort "glauben" ist wichtig: Wenn sich die Überzeugungen ändern, sollten sich auch die Codierungsstilrichtlinien ändern.
Hier kommen Ihre "starken persönlichen Einwände" ins Spiel. In einer "perfekten" Welt schreiben Sie den Code, den Sie für am besten halten, und Sie leben mit den Konsequenzen. Wir übersehen oft die "weichen" Konsequenzen, wenn wir programmieren, aber in diesem Fall sind sie wichtig. Ich habe kein Problem damit, dass Sie in Ihrem eigenen Stil schreiben, wenn es Ihnen nichts ausmacht, dass ich Ihnen nie etwas Wichtiges und Langlebiges gebe, um mich zu entwickeln.
Stellen Sie sich das ganze System wie einen Golfplatz vor. Der Codierungsstil ebnet den einfachen Weg den Fairway hinunter. Wenn Sie sich an den Kodierungsstandard halten, stellen wir sicher, dass das Leben so einfach wie möglich ist. Je weiter Sie sich mit Ihren eigenen Codierungsstandards auf die Probe stellen, desto mehr müssen Sie dem Team Ihren Wert beweisen.
Wenn ich am Montagmorgen komme und feststelle, dass Sie das ganze Wochenende damit verbracht haben, ein Problem zu lösen, über das wir uns ein Jahr lang geärgert haben, und das Sie in Ihrem eigenen "speziellen" Codierungsstandard getan haben, werde ich Ihnen das nicht sagen repariere es. Ich werde dir sagen, du sollst duschen gehen. Wenn Ihr "spezieller" Codierungsstandard ausnahmsweise "speziell" ist, kann ich sogar einem Einsteiger vorschlagen, den Code zu "überprüfen", um das Wissen darüber zu verbreiten, wie Ihr Code funktioniert, und beiläufig zu erwähnen, dass er / sie dies tun sollte, wenn etwas schwer lesbar erscheint Räume es auf. Sie haben dem Unternehmen an diesem Wochenende so viel Wert gegeben, dass Sie nicht einmal die ungeheuren Verstöße gegen die Codierungsstandards erwähnen sollten, die Sie begangen haben.
In dieser Golfmetapher gibt es natürlich keine Grenzen. Wenn ich Sie auffordere, eine einfache Aufgabe zu erledigen, vielleicht neue Felder zu einem Formular hinzuzufügen, und Sie beschließen, die Gelegenheit zu nutzen, den gesamten Formular-Ausfüll-Code mit einer Reihe von schattigen Zeichen wie Define-Makros an Ihren Stil anzupassen und einige schreckliche Template-Meta-Programmiertechniken, die Sie gerade aus dem Stapelaustausch gelernt haben, werden Sie gebeten, zurück zu gehen und sie zu reparieren. Sie haben sich entschieden zu handeln, das sind die Konsequenzen.
( Haftungsausschluss: Ich habe diese Implementierung für
is_base_of
das Lösen einer einfachen Aufgabe vollständig geschrieben und mir jedes bisschen Hölle verdient, das ich dafür von den leitenden Entwicklern bekommen habe. Ich sage, es hat sich gelohnt. Ich bekomme immer noch jedes Mal eine fröhliche Lachblase, wenn ich Blick auf , wie das Muster Keile wie 7 unabhängige Teile der C ++ Spezifikation zusammen etwas Erstaunliches zu tun. Nehmen Sie das, Sie Senior Entwickler! das ist , was Sie für das Verbot bekommenboost
an diesem Projekt! )quelle
Am besten scheint man den automatisierten Code-Formatierer zu verwenden, der in fast jeder Abstiegs-IDE integriert ist und für fast jede mehr oder weniger verbreitete Programmiersprache existieren sollte. Auf diese Weise werden unnötige Arbeiten und Reibungsverluste bei der Codeüberprüfung vermieden.
Es ist völlig vernünftig, von allen Entwicklern die Gewohnheit zu fordern, den Formatierer auf den neu erstellten Abschnitt des Codes anzuwenden.
Das Schlimmste, was Sie tun können, ist, einen benutzerdefinierten Codierungsstil anzufordern, den der vorhandene Code-Formatierer nicht unterstützt.
In relativ seltenen Fällen kann ein Abschnitt anders formatiert sein, wenn der Formatierer dies wirklich schrecklich macht. In der Regel ist es jedoch besser, den Formatierer so anzupassen, dass alle ihn besser formatieren können.
Es mag einige nützliche Regeln geben, die der Formatierer nicht unterstützen kann (wie man zum Beispiel Variablen benennt), aber wenn nur diese übrig bleiben, sind sie relativ einfach zu befolgen.
quelle
Tatsächliche Lösung (nicht nur Philosophie)
Lassen Sie zu, dass Codekommentare das Flusen überschreiben, und erstellen Sie ggf. Listen mit diesen Kommentaren (wie dies bei häufig ausgeführten Aufgaben mit Kommentaren der Fall ist).
Geben Sie Ihren Entwicklern die Möglichkeit, außerhalb der Konvention explizit und mit gutem Grund zu arbeiten - und während der Codeüberprüfung durch Menschen kann dies bei Bedarf überprüft werden.
quelle