Cómo saber si eres un buen programador

“Buen programador” no es un booleano. Hace diez años, pensé que era bueno. Hace cinco años, miraba el código que produje hace diez años y me avergonzaba. Ahora miro el código que escribí hace cinco años y me estremezco. Eso significa que soy mejor que hace cinco o diez años, pero si soy bueno o no es subjetivo. Espero que en otros cinco años vea lo que escribo hoy y me estremezca.

Sin embargo, algo que ayuda para lo específico que estás viendo es hacer que el código sea lo más claro posible. Es mucho más difícil pensar sobre lo que está haciendo y traducirlo a un código que se ve así

// Ver si el cliente tiene una dirección
if (GetValue (p))
{GetAddr (); }

que si tu código se ve así

if (currentCustomer.MailingAddress == null)
{currentCustomer.MailingAddress = Addresses.InputAddress (); }

En general, más claro es mejor.