Ordem dos elementos em uma classe C#: campos, propriedades, construtores, métodos — existe um padrão?
Olá a todos! Sou um desenvolvedor C# iniciante e uma questão me incomoda. Quando escrevo classes, simplesmente adiciono campos, depois propriedades, depois construtores e métodos na ordem em que vêm à minha mente. Mas recentemente, em uma code-review, um desenvolvedor sênior comentou: "Ordem incorreta dos elementos na classe".
Pesquisei na internet e encontrei muitas opiniões diferentes. Alguns escrevem: primeiro todos os campos private, depois propriedades public, depois construtores, depois métodos. Outros dizem: primeiro membros public, depois protected, depois private. Há ainda quem ordene por ordem alfabética.
Aqui está um exemplo da minha classe que foi criticada:
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; } }