Avatar ·

Ordre des éléments dans une classe C# : champs, propriétés, constructeurs, méthodes — existe-t-il une norme ?

Bonjour à tous ! Je suis un développeur C# débutant, et une question me taraude. Quand j'écris des classes, j'ajoute simplement les champs, puis les propriétés, puis les constructeurs et les méthodes dans l'ordre où ils me viennent à l'esprit. Mais récemment, lors d'une revue de code, un développeur senior a fait une remarque : « Ordre incorrect des éléments dans la classe ».

J'ai cherché sur Internet et j'ai trouvé beaucoup d'opinions différentes. Certains écrivent : d'abord tous les champs private, puis les propriétés public, puis les constructeurs, puis les méthodes. D'autres disent : d'abord les membres public, puis protected, puis private. D'autres encore trient par ordre alphabétique.

Voici un exemple de ma classe qui a été critiquée :

public class Employee
{
    public string LastName { get; set; }
    private int _age;
    public Employee(string name) { Name = name; }
    public string Name { get; set; }
    public void PrintInfo() { Console.WriteLine($"{Name}, {_age}"); }
    private int _id;
    public int Age { get { return _age; } set { _age = value; } }