| Thème | Compétence | Niveau |
|---|---|---|
| 1. Introduction à C# et .NET | Langage orienté objet et multi‑paradigme | 4 |
| .NET SDK / runtime | 4 | |
| Outils : Visual Studio, VS Code, Rider | 4 | |
| NuGet | 4 | |
| Structure d’un projet : .csproj, Target Framework | 4 | |
| 2. Bases du langage | Types primitifs | 5 |
| Variables (var, const) | 5 | |
| Conditions (if, switch, switch expression) | 5 | |
| Boucles (for, foreach, while) | 5 | |
| Méthodes | 5 | |
| Exceptions | 5 | |
| 3. OOP en C# | Classes, structs, records | 4 |
| Propriétés | 4 | |
| Encapsulation & modificateurs | 4 | |
| Héritage | 4 | |
| Interfaces | 4 | |
| Immutabilité | 4 | |
| Constructeurs (dont primaires) | 4 | |
| 4. Paradigme fonctionnel | Lambdas | 4 |
| Méthodes d’extension | 4 | |
| Pattern matching | 3 | |
| LINQ | 2 | |
| IEnumerable / IQueryable | 2 | |
| 5. Gestion mémoire | Garbage Collector | 4 |
| IDisposable / using | 2 | |
| Types valeur / référence | 5 | |
| Boxing / unboxing | 3 | |
| 6. Asynchronisme | async/await | 4 |
| Task vs Thread | 4 | |
| Gestion des erreurs async | 2 | |
| 7. Structuration du code | Namespaces | 4 |
| Solutions / projets | 4 | |
| Dependency Injection | 2 | |
| 8. Design | Architecture MVVM (auto‑éval. “2 -- 3”) | 3 |
| MVC | 0 |
| Catégorie | Point clé | Niveau |
|---|---|---|
| 1. Nommage | Noms explicites | 4 |
| Cohérents avec le domaine | 4 | |
| Méthodes = verbes / Classes = noms | 4 | |
| 2. Méthodes | Courtes | 4 |
| Une seule responsabilité | 4 | |
| Peu de paramètres | 4 | |
| 3. Classes | Une seule responsabilité | 4 |
| Composition > héritage | 4 | |
| Immutabilité (records) | 4 | |
| 4. Gestion des erreurs | Exceptions | 4 |
| Messages clairs | 4 | |
| Pas de codes d’erreur | — | |
| 5. Commentaires | Commenter le pourquoi | 5 |
| Code auto‑documenté | 4 | |
| Éviter les commentaires inutiles | 5 | |
| 6. Formatage | Style cohérent | 4 |
| Code aéré | 4 | |
| Un fichier par classe | 5 | |
| 7. Tests | Tests unitaires (xUnit) | 3 |
| Rapides et isolés | 0 | |
| 8. Architecture | SOLID | 3 |
| Découplage via interfaces | 3 | |
| Dependency Inversion | 2 |