Skip to content

BernardoMeine/BugRanking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BugRanking

O BugRanking é um sistema para classificar desenvolvedores (BugHunters) com base na quantidade e na dificuldade dos bugs que eles solucionam. Ele utiliza uma lógica de pontuação, onde bugs resolvidos de diferentes dificuldades são contabilizados para calcular o desempenho total de cada desenvolvedor.

Estrutura do Projeto

A aplicação está organizada em duas partes principais:

  • BugRanking.Core: Contém as classes principais e a lógica do domínio do projeto, como os BugHunters, a resolução de bugs e os rankings.
  • BugRanking.Tests: Projeto de testes unitários para garantir que as regras de negócio da aplicação funcionem corretamente.

Funcionalidades

BugHunter

Um BugHunter representa um desenvolvedor que resolve bugs. Cada BugHunter possui um nome, um email, e uma lista de bugs que ele resolveu, com diferentes níveis de dificuldade.

SolvedBugs

A classe SolvedBugs armazena as resoluções de bugs feitas por um BugHunter. Cada resolução inclui a quantidade de bugs resolvidos e a dificuldade (easy, medium, hard ou ultrahard).

Ranking

A classe Ranking organiza os BugHunters de acordo com o total de pontos acumulados, considerando a dificuldade dos bugs resolvidos. Quanto maior a dificuldade, mais pontos são atribuídos ao BugHunter.

Tecnologias Utilizadas

  • C# (.NET 8): Linguagem principal para o desenvolvimento da aplicação.
  • MSTest: Para testes unitários.

Como Executar o Projeto

Pré-requisitos

Pacote Nuget

Subi o BugRanking como um nuget package, dessa forma você pode executá-lo tanto como um projeto quanto um pacote do nuget através do terminal como demonstrado abaixo:

dotnet add package BugRanking --version 1.0.0

Passos para Executar

  1. Clone este repositório:
    git clone https://github.com/BernardoMeine/BugRanking.git
    
  2. Navegue até a pasta do projeto:
    cd BugRanking
    
  3. Restaure as dependências:
    dotnet restore
    
  4. Execute os testes para garantir que tudo está funcionando:
    dotnet test
    

Exemplos de uso

Aqui está um exemplo de como criar um BugHunter e calcular sua pontuação:

var email = new Email("[email protected]");
var resolutions = new List<BugResolution>
{
  new BugResolution(5, EDifficulty.Easy),
  new BugResolution(3, EDifficulty.Hard)
};

var bugHunter = new BugHunter(1, "Developer", email, new SolvedBugs(resolutions));
var totalScore = bugHunter.GetSolvedBugsScore();
Console.WriteLine($"Total Score: {totalScore}");

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages