correction des code smells
continuous-integration/drone/push Build is passing Details

master
Céleste BARBOSA 12 months ago
parent 21a492162b
commit af9acb9ced

@ -6,7 +6,7 @@ namespace ConsoleApp
/// <summary>
/// Fournit des gestionnaires d'événements les événements liés au déroulement de la partie.
/// </summary>
public class Evenements
public static class Evenements
{
/// <summary>
/// Gestionnaire d'événement pour l'ajout d'un joueur.

@ -2,7 +2,7 @@
namespace ConsoleApp
{
public class Utils
public static class Utils
{
private readonly static Dictionary<Couleur, ConsoleColor> couleursTerminal = new Dictionary<Couleur, ConsoleColor>()
{
@ -22,25 +22,24 @@ namespace ConsoleApp
public static void DessinerTitre()
{
Console.WriteLine("""
__ __ _ _ _
| \/ | __ _ ___| |_ ___ _ _ _ __ (_) _ _ __| |
| |\/| |/ _` |(_-<| _|/ -_)| '_|| ' \ | || ' \ / _` |
|_| |_|\__,_|/__/ \__|\___||_| |_|_|_||_||_||_|\__,_|
""");
Console.WriteLine(@"
__ __ _ _ _
| \/ | __ _ ___| |_ ___ _ _ _ __ (_) _ _ __| |
| |\/| |/ _` |(_-<| _|/ -_)| '_|| ' \ | || ' \ / _` |
|_| |_|\__,_|/__/ \__|\___||_| |_|_|_||_||_||_|\__,_|
");
DessinerSeparateur();
}
public static void DessinerSeparateur()
{
Console.WriteLine("""
Console.WriteLine(@"
""");
");
}
public static void DessinerPion(Enum pion)
@ -62,8 +61,8 @@ namespace ConsoleApp
public static void DessinerPlateau(IEnumerable<IEnumerable<Jeton?>> grille, IEnumerable<IEnumerable<Indicateur>> indicateurs)
{
IEnumerable<Jeton?>[] grilleTableau = (IEnumerable<Jeton?>[])grille.ToArray();
IEnumerable<Indicateur>[] indicateursTableau = (IEnumerable<Indicateur>[])indicateurs.ToArray();
IEnumerable<Jeton?>[] grilleTableau = grille.ToArray();
IEnumerable<Indicateur>[] indicateursTableau = indicateurs.ToArray();
Console.WriteLine(" Codes Indicateurs ");
Console.WriteLine("──────────────── ────────────────");

@ -20,7 +20,7 @@ namespace CoreLibrary
public Code(IEnumerable<Jeton> jetons)
{
if (jetons.Count() == 0)
if (jetons.Any())
{
throw new TailleCodeException(jetons.Count());
}

@ -3,13 +3,21 @@
/// <summary>
/// Exception levée lorsqu'un jeton est ajouté à un code déjà complet.
/// </summary>
[Serializable]
public class CodeCompletException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeCompletException"/>.
/// </summary>
public CodeCompletException() :
base("Le code dans lequel vous essayez d'ajouter un jeton est déjà complet.")
{ }
private const string messageDefaut = "Le code dans lequel vous essayez d'ajouter un jeton est déjà complet.";
public CodeCompletException() : base(messageDefaut)
{}
public CodeCompletException(string message) : base(message)
{}
public CodeCompletException(string message, Exception exception) : base(message, exception)
{}
}
}

@ -3,13 +3,21 @@
/// <summary>
/// Exception levée lorsqu'un code incomplet est ajouté à la grille.
/// </summary>
[Serializable]
public class CodeIncompletException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeIncompletException"/>.
/// </summary>
public CodeIncompletException() :
base("Le code que vous essayez d'ajouter dans la grille n'est pas complet.")
private const string messageDefaut = "Le code que vous essayez d'ajouter dans la grille n'est pas complet.";
public CodeIncompletException() : base(messageDefaut)
{ }
public CodeIncompletException(string message) : base(message)
{ }
public CodeIncompletException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,6 +3,7 @@
/// <summary>
/// Exception levée lorsqu'un code avec une taille invalide est ajouté à la grille.
/// </summary>
[Serializable]
public class CodeInvalideException : Exception
{
/// <summary>
@ -10,8 +11,19 @@
/// </summary>
/// <param name="tailleCodeAjoute">La taille du code que vous essayez d'ajouter.</param>
/// <param name="tailleCodePlateau">La taille du code que le plateau attend.</param>
private const string messageDefaut = "Le code que vous essayez d'ajouter est invalide.";
public CodeInvalideException() : base(messageDefaut)
{ }
public CodeInvalideException(int tailleCodeAjoute, int tailleCodePlateau) :
base($"Le code que vous essayez d'ajouter est un code de taille {tailleCodeAjoute}, or le plateau attend un code de {tailleCodePlateau}.")
{ }
public CodeInvalideException(string message) : base(message)
{ }
public CodeInvalideException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,13 +3,21 @@
/// <summary>
/// Exception levée lorsqu'un jeton est supprimé d'un code qui est déjà vide.
/// </summary>
[Serializable]
public class CodeVideException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="CodeVideException"/>.
/// </summary>
public CodeVideException() :
base("Le code dans lequel vous essayez de supprimer un jeton est déjà vide.")
private const string messageDefaut = "Le code dans lequel vous essayez de supprimer un jeton est déjà vide.";
public CodeVideException() : base(messageDefaut)
{ }
public CodeVideException(string message) : base(message)
{ }
public CodeVideException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,13 +3,21 @@
/// <summary>
/// Exception levée lorsqu'un code est ajouté à une grille qui est déjà complète.
/// </summary>
[Serializable]
public class GrilleCompleteException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="GrilleCompleteException"/>.
/// </summary>
public GrilleCompleteException() :
base("La grille dans laquelle vous essayez d'ajouter un code est déjà complète.")
private const string messageDefaut = "La grille dans laquelle vous essayez d'ajouter un code est déjà complète.";
public GrilleCompleteException() : base(messageDefaut)
{ }
public GrilleCompleteException(string message) : base(message)
{ }
public GrilleCompleteException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,6 +3,7 @@
/// <summary>
/// Exception levée lorsqu'un indice de jeton est invalide.
/// </summary>
[Serializable]
public class IndiceCodeException : Exception
{
/// <summary>
@ -10,8 +11,19 @@
/// </summary>
/// <param name="indice">L'indice incorrect qui a été spécifié.</param>
/// <param name="indiceMax">L'indice maximum permis.</param>
private const string messageDefaut = "L'indice du jeton que vous essayez de récupérer est hors de la plage valide.";
public IndiceCodeException() : base(messageDefaut)
{ }
public IndiceCodeException(int indice, int indiceMax) :
base($"Vous avez essayé de récupérer le jeton à la place {indice}, mais son indice doit être compris entre 0 et {indiceMax}.")
{ }
public IndiceCodeException(string message) : base(message)
{ }
public IndiceCodeException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,13 +3,21 @@
/// <summary>
/// Exception levée lorsqu'une opération est tentée alors que la partie n'a pas encore commencé.
/// </summary>
[Serializable]
public class PartieNonCommenceeException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="PartieNonCommenceeException"/>.
/// </summary>
public PartieNonCommenceeException() :
base("La partie n'a pas encore commencée.")
private const string messageDefaut = "La partie n'a pas encore commencée.";
public PartieNonCommenceeException() : base(messageDefaut)
{ }
public PartieNonCommenceeException(string message) : base(message)
{ }
public PartieNonCommenceeException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,14 +3,26 @@
/// <summary>
/// Exception levée lorsqu'une taille de code invalide est spécifiée.
/// </summary>
[Serializable]
public class TailleCodeException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="TailleCodeException"/>.
/// </summary>
/// <param name="taille">La taille du code spécifiée.</param>
private const string messageDefaut = "Un code doit avoir une taille positive non nulle.";
public TailleCodeException() : base(messageDefaut)
{ }
public TailleCodeException(int taille) :
base($"Un code doit avoir une taille positive non nulle, or il a reçu {taille}.")
{ }
public TailleCodeException(string message) : base(message)
{ }
public TailleCodeException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -3,14 +3,26 @@
/// <summary>
/// Exception levée lorsqu'une taille de grille invalide est spécifiée.
/// </summary>
[Serializable]
public class TailleGrilleException : Exception
{
/// <summary>
/// Initialise une nouvelle instance de la classe <see cref="TailleGrilleException"/>.
/// </summary>
/// <param name="taille">La taille de grille spécifiée.</param>
private const string messageDefaut = "Une grille doit avoir une taille positive non nulle.";
public TailleGrilleException() : base(messageDefaut)
{ }
public TailleGrilleException(int taille) :
base($"Une grille doit avoir une taille positive non nulle, or elle a reçu {taille}.")
{ }
public TailleGrilleException(string message) : base(message)
{ }
public TailleGrilleException(string message, Exception exception) : base(message, exception)
{ }
}
}

@ -7,8 +7,8 @@ namespace CoreLibrary
{
private readonly IRegles regles;
public delegate string? StringEventHandler<TEventArgs>(Object? sender, TEventArgs e);
public delegate Jeton? JetonEventHandler<TEventArgs>(Object? sender, TEventArgs e);
public delegate string? StringEventHandler<in TEventArgs>(Object? sender, TEventArgs e);
public delegate Jeton? JetonEventHandler<in TEventArgs>(Object? sender, TEventArgs e);
public event StringEventHandler<DemanderJoueurEventArgs>? DemanderJoueur;
public event JetonEventHandler<DemanderJetonEventArgs>? DemanderJeton;
@ -71,12 +71,8 @@ namespace CoreLibrary
if(DemanderJeton != null)
{
// Si quelqu'un écoute l'événement mais ne renvoie rien, alors on supprime le dernier jeton
try
{
code.SupprimerDernierJeton();
QuandSupprimerDernierJeton();
}
catch(CodeVideException){}
code.SupprimerDernierJeton();
QuandSupprimerDernierJeton();
}
else
{

@ -121,14 +121,14 @@ namespace CoreLibrary
throw new CodeIncompletException();
}
IEnumerable<Indicateur> indicateurs = codeSecret.Comparer(code);
IEnumerable<Indicateur> indicateursCode = codeSecret.Comparer(code);
if (indicateurs.Count() != tailleCode)
if (indicateursCode.Count() != tailleCode)
{
return false;
}
foreach (Indicateur indicateur in indicateurs)
foreach (Indicateur indicateur in indicateursCode)
{
if (indicateur != Indicateur.BONNEPLACE)
{

Loading…
Cancel
Save