Pular para o conteúdo principal

C#: Documentação XML

 

Introdução

Ao utilizar um método nativo do C#, o ambiente de desenvolvimento exibe automaticamente uma descrição detalhada, informando sua funcionalidade, os parâmetros aceitos e o valor retornado. Isso facilita a compreensão e a reutilização do código. Por exemplo, podemos observar o método “Replace” da classe “String”, conforme a imagem abaixo.


Podemos observar que no momento da declaração do método a IDE exibe uma mensagem de “ajuda” explicando o tipo de retorno de método, quantidade de sobrecargas disponíveis e quais os parâmetros aceitos, esse é feito pelo IntelliSense.

O que é o IntelliSense

O IntelliSense é um conjunto de recursos de assistência ao código disponível em IDEs como Visual Studio, Rider e VS Code. Ele oferece sugestões inteligentes enquanto você digita, exibindo informações sobre métodos, classes e parâmetros, o que melhora a produtividade e reduz erros.

Utilizar comentários de documentação

Existe a possibilidade de aplicar essa configuração aos seus próprios métodos, o que é especialmente útil ao trabalhar em equipe, pois facilita a documentação e compreensão do código. Em um projeto com uma equipe de vários desenvolvedores, manter a documentação do código é fundamental para garantir clareza e colaboração.

Caso de Uso

Imagine que você precisa criar uma função que recebe uma string contendo texto entre parênteses e retorna apenas esse conteúdo entre parênteses. Embora seja uma função simples e utilizada apenas para fins didáticos, ela será chamada em vários pontos do projeto. Então você decide implementá-la em um “service”, e para isso criamos a classe “StringHelper” e o método “ExtrairTextoEntreParentese”.

Outros desenvolvedores utilizaram essa função, é importante documentá-la, explicando seu comportamento e a forma correta de uso. Uma maneira eficaz de fazer isso é utilizando comentários de documentação XML, que são reconhecidos pelo IntelliSense.

Vamos criar o método “ExtrairTextoEntreParentese”:


public static string ExtrairTextoEntreParenteses(string texto) 
{ 
	if (string.IsNullOrEmpty(texto))
    	{
    		return string.Empty;
        }
        
   	int posicaoInicial = texto.IndexOf('('); 
   	int posicaoFinal = texto.IndexOf(')'); 

	if (posicaoInicial == -1 || posicaoFinal == -1 || posicaoFinal < posicaoInicial)
    	{
    		return string.Empty;
        }
        
    	return texto.Substring(posicaoInicial + 1, posicaoFinal - posicaoInicial - 1); 
}

Então para documentar a função, antes da declaração da função vamos colocar os comentários XML, conforme abaixo:


/// <summary>Extrai o primeiro texto encontrado entre parênteses em uma string.</summary>
/// <param name="texto">A string de entrada que contém o texto entre parênteses.</param>
/// <returns>O conteúdo encontrado dentro dos primeiros parênteses, ou uma string vazia se não houver parênteses.</returns>
public static string ExtrairTextoEntreParenteses(string texto) 
{ 
	if (string.IsNullOrEmpty(texto))
    	{
    		return string.Empty;
        }
        
   	int posicaoInicial = texto.IndexOf('('); 
   	int posicaoFinal = texto.IndexOf(')'); 

	if (posicaoInicial == -1 || posicaoFinal == -1 || posicaoFinal < posicaoInicial)
    	{
    		return string.Empty;
        }
        
    	return texto.Substring(posicaoInicial + 1, posicaoFinal - posicaoInicial - 1); 
}

Esses comentários criam um resumo, explicando a função da função, o parâmetro que deve ser enviado e qual será o retorno. Quando alguém utilizar a função, o IntelliSense vai mostrar esse resumo conforme a imagem abaixo, o que é muito útil.

Pontos a considerar

O IntelliSense está integrado às principais IDEs, como Visual Studio, Rider e Visual Studio Code. Antes de utilizar os comentários de documentação XML, verifique se sua equipe trabalha com uma dessas ferramentas, pois elas oferecem suporte completo ao recurso.

Mais informações

Para mais informações sobre como funciona a documentação XML no C#, a Microsoft possui uma documentação muito boa sobre o tema, link documentação.

Comentários

Postagens mais visitadas deste blog

Gerenciando Dependências no Python com requirements.txt

O que é o Pip? O Pip  (Package Installer for Python) é o gerenciador de pacotes do Python. Ele permite instalar, atualizar e remover bibliotecas e dependências de forma prática, garantindo que seu ambiente esteja sempre configurado corretamente. Como gerar um arquivo requirements.txt? Quando trabalhamos em projetos Python, muitas vezes precisamos garantir que todas as dependências necessárias estejam instaladas. Para facilitar essa gestão, podemos gerar um arquivo requirements.txt que contém a lista de pacotes e versões utilizadas no ambiente. Para gerar esse arquivo, execute o seguinte comando no terminal: pip freeze > requirements.txt Esse comando captura todas as bibliotecas instaladas no ambiente e as salva no arquivo requirements.txt . Geralmente trabalhamos com um ambiente virtual, o que é uma boa prática. Como instalar dependências a partir do requirements.txt? Se você precisa configurar um novo ambiente ou compar...

Aprenda Pandas utilizando exemplos de SQL e vice e versa (select, insert, update e delete)

O que é o Pandas? O Pandas é uma biblioteca open source do Python, criada para a função de análise de dados. Suas funções incluem limpeza, tratamento e análise exploratória de dados (EDA). É uma biblioteca muito utilizada para o trabalho de Machine Learning e Data Science, porém sua utilidade vai muito além disso, sendo uma ferramenta poderosa para programadores ou profissionais que lidam com grandes conjuntos de dados. Eu utilizo muito o Pandas para conferência de relatórios e bases de dados, e considero uma ferramenta muito útil, por exemplo, para profissionais de finanças, contabilidade, etc. Funcionamento do Pandas O funcionamento do Pandas está centrado em DataFrames, que são objetos para estruturar dados, algo parecido com uma planilha. Os dados são importados para um DataFrame, e as fontes de dados pode ser de diversos tipos, por exemplo: Excel Json SQL HTML Google Sheets A liberdade que o P...

Como Vencer a Procrastinação e Estudar Tecnologia com Foco (Serve Para Qualquer Tema!)

Como Vencer a Procrastinação e Estudar Tecnologia com Foco O tópico sobre estudar de forma eficiente sempre foi um interesse meu. Trabalhando na área de tecnologia essa necessidade aumentou, pois a área está em constante mudança e precisamos nos manter atualizados. A inspiração para escrever um artigo sobre esse tema veio de uma leitura recente, o livro Ultra-aprendizado , do autor Scott Young. O tema do livro é sobre como estudar de forma eficiente, no capítulo 5 o autor mostra estratégias para resolver problemas comuns durante uma sessão de estudos e um dos problemas tratados é a procrastinação. Durante a leitura deste livro eu fiz várias correlações com outro livro que li, o livro Hábitos Atômicos , do autor James Clear. A intenção deste artigo não é taxar pessoas como preguiçosas. No mundo em que vivemos a quantidade de tempo disponível para o lazer e estudo não é igual para todos os indivíduos, algumas pessoas simplesmente não têm tempo para dedicar aos estudos. Este artig...