Falando por experiência própria ...
O primeiro projeto de código aberto em que contribuí, estava cheio de mijo e vinagre quando comecei também.
O que eu fiz imediatamente foi passar por vários arquivos de origem e começar a estilizar as coisas de acordo com minhas preferências pessoais, criar um patch enorme e enviá-lo.
Se você estiver trabalhando com alguém que é 'bom' (como eu), ele imediatamente rejeitará o patch. Principalmente porque, quando você contribui para um projeto de código-fonte aberto, é esperado que você divida suas correções em pedaços pequenos, que abordam um único problema. 'Removido todos os gotos' não é um bom exemplo de confirmação atômica. Mesmo se você dividi-lo em confirmações menores e bem documentadas primeiro, ele ainda poderá ser rejeitado.
O motivo é que, como o código é trabalhado por várias pessoas (com estilos diferentes) ao longo do tempo, não é realmente possível aceitar alterações em toda a biblioteca para se adequar ao estilo de um desenvolvedor. Se a mudança de estilo por causa do estilo fosse viável, todos os projetos de código aberto nunca avançariam porque o código seria constantemente editado para se adequar a diferentes estilos de desenvolvedores.
A refatoração do código e a adição de funcionalidade (ou remoção de detritos obsoletos) geralmente têm precedência sobre o código de 'limpeza'.
A parte mais difícil e gratificante de se trabalhar em um projeto de código aberto é que você será perguntado por que está se propondo a fazer as alterações que está enviando. Se você puder dar uma boa razão, há uma chance maior de que seu patch seja enviado.
Meu conselho é fazer algumas dessas alterações em um arquivo de origem para dar uma amostra do que você está tentando fazer primeiro. Se as alterações forem bem justificadas e aceitas, pergunte se mais alterações como essa melhorariam a qualidade do projeto. Dessa forma, você não desperdiçará muito esforço por nada se seus patches forem rejeitados no futuro.
Desenvolver código aberto é mais do que escrever código. Você está trabalhando para criar um relacionamento de confiança, porque os gatekeepers (desenvolvedores que controlam o acesso push) farão o que for necessário para proteger a integridade do projeto. À medida que você envia mais patches, o gatekeeper terá uma sensação melhor do seu estilo e você não precisará justificar suas alterações.
É um processo que leva tempo, mas é muito gratificante. Você não apenas aprenderá muito ao poder olhar e criticar o código de alguém, mas também será criticado em seu próprio estilo.
Antes de você perder muito tempo tentando "corrigir a injustiça dos erros do estilo de codificação de outros", pergunte a si mesmo:
As mudanças que você está propondo se baseiam em agregar valor ao projeto ou são baseadas em sua própria religião estilística interna.
Existe muita religião no Stack Overflow (e sites relacionados ao Stack Exchange). Quero dizer um monte . As pessoas pensam e falam sobre o estilo infinitamente, como se quanto mais você fala sobre ele, mais perto você fica do estilo de codificação "perfeito, ideal, indestrutível, infalível". Eu falo muito sobre isso principalmente porque é divertido.
No mundo do código aberto, o estilo não é tão importante. Função é .
Nota: Todas essas orientações pressupõem que o seu gatekeeper seja um programador razoável e talentoso. Se ele é, considere-se sortudo por não ter ficado preso com uma das choronas e chorões cuja única preocupação é proteger o 'bebê' deles. Eles não existem em estado selvagem, por isso não se surpreenda se você encontrar um.
goto
não é necessariamente uma bagunça. Existem muitos casos em que seu uso é perfeitamente justificado.