Das wird dir wahrscheinlich nicht gefallen ... aber hier ist es ...
Ich arbeite daran, einige der Fehler zu beheben, um in die "Schleife" zu geraten und ein regelmäßiger Committer für das Projekt zu werden. Das Problem ist, dass ich einen grundlegenden Konstruktionsfehler aufgedeckt habe, der einen der Fehler verursacht, an denen ich arbeite.
Nein, nein, hast du nicht. Wenn Sie das tun würden, würden Sie nicht so zögern. Die Tatsache, dass Sie sich über den "grundlegenden Designfehler" nicht sicher sind, bedeutet, dass Sie keinen entdeckt haben. Wenn Sie versuchen, auf den Fehler eines anderen hinzuweisen, werden Sie nicht mit Superlativen (wie "fundamental") belohnt.
Was Sie vielleicht entdeckt haben, ist ein etwas besseres Design für das Problem, das Sie haben. Sie sollten es wahrscheinlich gründlich testen - da Sie neu im Projekt sind, haben Sie wahrscheinlich keine Ahnung, wovon Sie sprechen.
Aber ich habe das Gefühl, dass ich arrogant werde, wenn ich das auf der Mailing-Liste platziere
Die Bezeichnung "grundlegender Konstruktionsfehler" wirkt auf jeden Fall arrogant. Im Übrigen ist es nicht die beste Idee , darauf hinzuweisen, dass es sich möglicherweise um einen Fehler handelt. Wenn Sie nicht genau wissen (und sich darauf verlassen können), dass es sich um ein Problem handelt, müssen Sie demütig Fragen stellen und Nachforschungen anstellen, bis Sie es vollständig verstanden haben . Besser als wer auch immer Sie versuchen zu überzeugen.
... und einige der Diskussionen, die ich über das Thema geführt habe, sind Köpfe mit einigen der Leute zu stoßen. Wie soll ich vorgehen?
Halt. Dies ist keine moralische Frage und bringt niemanden um (nehme ich an). Wenn Sie beabsichtigen, ein langfristiges Mitglied des Projekts zu sein, müssen Sie sich zuerst Vertrauen verdienen, bevor Sie es in Frage stellen. Beheben Sie die Fehler, machen Sie einen tollen Job (nach welchen Kriterien auch immer die Gruppenwerte), entwerfen Sie ein paar Features und verdienen Sie sich einen Platz am Tisch.
Bringen Sie dann demütig einen Vorschlag zur Verbesserung des Designs für die Gruppe vor, ohne mit den Fingern zu zeigen oder etwas Gebrochenes zu nennen. Und du solltest besser alle Konsequenzen und die Lösungen für sie durchdacht haben, oder du wirst erschossen, weil du "naiv" bist. Seien Sie bereit für ein Argument, warum Ihr Design besser ist. Seien Sie bereit zu verlieren und würdevoll zu verlieren.
Wenn Ihre Idee wirklich besser ist, wird sie entweder irgendwann von der Gruppe akzeptiert (wenn auch vielleicht nicht vom ursprünglichen Designer), die Gruppe kümmert sich nicht darum, oder die Gruppe ist dumm. Warum möchten Sie in beiden Fällen überhaupt ein Teil der Gruppe sein?
...
Wenn Sie dazu in der Lage sind, besteht die Alternative darin, das verdammte Ding so blutig brillant zu codieren, dass sie vor Erstaunen über Ihre Codierungsfähigkeiten zittern und keine andere Wahl haben, als die elegante Einfachheit und die ewige Wahrheit Ihres Designs zu akzeptieren. Entwickler tun Respekt Kompetenz, aber man muss vorsichtig sein - die Strafe für Inkompetenz (oder unberechtigte Arroganz) ist ziemlich streng. Da Sie diese Frage stellen, ist die brillante und unbefangene Überheblichkeit meiner Meinung nach eigentlich keine Option. ;)