Menu
Coddy logo textTech

Programmation défensive

Fait partie de la section Logique & Flux du Journey C# de Coddy. Leçon 34 sur 66.

La programmation défensive est une technique qui aide à prévenir les erreurs causées par des références null. Elle consiste à vérifier les valeurs null avant d’essayer d’utiliser des objets.

Vérifiez la valeur null avant d’utiliser un objet :

string name = GetNameFromSomewhere();

// Vérification défensive
if (name == null)
{
    // Gérer le cas null
    name = "Default Name";
}

// Maintenant, il est sûr d'utiliser name
Console.WriteLine(name.ToUpper());

Validez les paramètres dans les méthodes :

public void ProcessOrder(Order order)
{
    // Vérification défensive pour le paramètre null
    if (order == null)
    {
        Console.WriteLine("Error: Order cannot be null");
        return;
    }
    
    // Maintenant, il est sûr de traiter la commande
    Console.WriteLine("Processing order: " + order.Id);
}

Utilisez l’opérateur d’accès conditionnel (?.) pour des vérifications de nullité plus claires :

Customer customer = GetCustomerFromSomewhere();

// Au lieu de :
// string city = null;
// if (customer != null && customer.Address != null)
// {
//     city = customer.Address.City;
// }

// Utilisez ceci :
string city = customer?.Address?.City;
challenge icon

Défi

Facile

Créez une méthode nommée ProcessUserData qui accepte un paramètre chaîne userData. La méthode doit :

  1. Vérifier si userData est null : si c’est le cas, afficher "Error: User data is null" et retourner.
  2. Vérifier si userData est vide : si c’est le cas, afficher "Error: User data is empty" et retourner.
  3. Si les données sont valides, les convertir en majuscules et afficher "Processing: [UPPERCASE_DATA]".

Essayez vous-même

using System;

class ProcessUserData
{
    public static void processUserData(string userData)
    {
        // Indice : la chaîne "null" doit être traitée comme une véritable valeur null
        
        // Écrivez votre code ici
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur C# en ligne