Contribuição open source em C#: por onde começar e não enlouquecer

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Por que open source não é assustador, mas sim vantajoso?



Muitos desenvolvedores, especialmente em C#, olham para o open source com receio. Parece que só tem gurus por lá, que só esperam para criticar seu código. Na verdade, contribuição open source é a melhor forma de aprimorar habilidades, ganhar experiência em uma equipe grande e fazer amigos ao redor do mundo.



Eu mesmo tive medo de fazer meu primeiro Pull Request. Pensava: "Quem sou eu para mexer no código que foi escrito por profissionais?". Mas aí eu simplesmente corrigi um erro de digitação na documentação — e foi só o começo. Hoje tenho mais de 50 merges em diferentes projetos C#. E quero contar como começar a contribuir para open source sem estresse.



Passo 1. Encontre seu "playground"



Não precisa ir direto para o núcleo do ASP.NET Core ou Roslyn. Comece pequeno. Aqui estão três tipos de projetos que vão te receber de braços abertos:



  • Bibliotecas para C# — existem milhares no GitHub. Procure por tags como csharp, dotnet, library.
  • Ferramentas para desenvolvedores — analisadores de código, geradores, utilitários.
  • Documentação — sim, isso também é open source. E muitas vezes é onde há mais "lacunas".


Uma ótima forma de encontrar um projeto é entrar no GitHub e pesquisar label:"good first issue" language:csharp. Essas são tags especiais para iniciantes. Tais tarefas são marcadas como simples e compreensíveis.



Passo 2. Familiarize-se com as ferramentas



Antes de escrever código, certifique-se de ter:



  • Git (de preferência pelo terminal, não por GUI)
  • Visual Studio ou Rider (a Community Edition serve)
  • Uma conta no GitHub
  • Conhecimento básico de git clone, git branch, git commit, git push


Se ainda está com dificuldades com Git — sem problemas. Basta fazer um fork do projeto, fazer alterações pela interface do GitHub e criar um Pull Request a partir de lá. Esse é o caminho mais fácil para a primeira vez.



Passo 3. Encontre um bug ou funcionalidade



Suponha que você escolheu um projeto. O que fazer agora? Abra a aba Issues e procure por tarefas com tags:



  • good first issue
  • help wanted
  • beginner
  • documentation


Se não encontrar nada — não hesite em escrever nos comentários: "Olá! Sou iniciante, quero ajudar. Tem algo simples?". Acredite, os mantenedores geralmente são muito amigáveis. Eles também começaram um dia.



Passo 4. Escreva o código (com exemplo)



Imagine que você encontrou um bug: no método de extensão para strings, o caso null não é tratado. Veja como pode ser.



Código original (com bug):



public static class StringExtensions{    public static string Reverse(this string input)    {        char[] chars = input.ToCharArray();        Array.Reverse(chars);        return new string(chars);    }}


Sua correção:



public static class StringExtensions{    public static string Reverse(this string input)    {        if (input == null)            throw new ArgumentNullException(nameof(input));

char[] chars = input.ToCharArray(); Array.Reverse(chars); return new string(chars); }}


Viu? Nada de extraordinário. Apenas adicionamos uma verificação de null e lançamos a exceção correta. Isso já é uma contribuição open source digna.



Passo 5. Escreva testes unitários



Boa prática é adicionar testes ao seu código. Aqui está um exemplo para nossa correção usando xUnit:



public class StringExtensionsTests{    [Fact]    public void Reverse_ValidString_ReturnsReversed()    {        var result = "hello".Reverse();        Assert.Equal("olle                

Blogs

Book Recommendations