O código apresentado não é uma má prática em si, mas existem algumas melhorias que podem ser feitas para deixá-lo mais organizado e seguro.
Encapsulamento de dados: os campos públicos (nome, idade, peso e altura) podem ser encapsulados em propriedades, com a criação de métodos get e set, garantindo a segurança dos dados e permitindo validações de entrada.
Criação de construtor: para garantir que todos os objetos da classe Cadastro_Paciente serão criados com valores iniciais, é importante criar um construtor que inicialize as propriedades da classe.
Utilização de tipos de dados específicos: os campos idade, peso e altura poderiam ser definidos como tipos específicos, como idade como byte ou short, peso e altura como float ou decimal.
Utilização de nomenclatura: a classe e as propriedades poderiam ter nomes mais descritivos, seguindo padrões de nomenclatura de código.
Segue abaixo uma versão do código com as melhorias mencionadas:
`using System;
namespace CadastroConsultorio
{
public class Paciente
{
private string _nome;
private byte _idade;
private decimal _peso;
private decimal _altura;
public Paciente(string nome, byte idade, decimal peso, decimal altura)
{
Nome = nome;
Idade = idade;
Peso = peso;
Altura = altura;
}
public string Nome
{
get { return _nome; }
set { _nome = value; }
}
public byte Idade
{
get { return _idade; }
set { _idade = value; }
}
public decimal Peso
{
get { return _peso; }
set { _peso = value; }
}
public decimal Altura
{
get { return _altura; }
set { _altura = value; }
}
}
class Program
{
static void Main(string[] args)
{
Paciente paciente_01 = new Paciente("Joao Sarchis", 30, 83.0m, 1.70m);
Console.WriteLine("Nome: {0}\nIdade: {1}\nAltura: {2}\nPeso(kg): {3}", paciente_01.Nome, paciente_01.Idade, paciente_01.Altura, paciente_01.Peso);
}
}
}`