Eu sempre inicializei minhas strings em NULL, pensando que NULL significa a ausência de um valor e "" ou String.Empty é um valor válido. Ultimamente, tenho visto mais exemplos de código em que String.Empty é considerado o valor padrão ou representa nenhum valor. Isso me parece estranho, com os tipos anuláveis recém-adicionados em c #, parece que estamos dando passos para trás com seqüências de caracteres por não usar o NULL para representar 'No Value'.
O que você usa como inicializador padrão e por quê?
Edit: Com base nas respostas, mais meus pensamentos adicionais
Evitando o tratamento de erros Se o valor não deve ser nulo, por que foi definido
NULL
em primeiro lugar? Talvez seja melhor identificar o erro no local em que ocorre, em vez de encobri-lo durante todo o resto da sua base de código?Evitando verificações nulas Se você está cansado de fazer verificações nulas no código, não seria melhor abstrair as verificações nulas? Talvez envolva (ou estenda!) Os métodos de string para torná-los
NULL
seguros? O que acontece se você usa constantementeString.Empty
e um nulo funciona no seu sistema, você começa a adicionarNULL
cheques de qualquer maneira?
Não posso deixar de voltar à opinião de que é preguiça. Qualquer DBA lhe daria nove maneiras de bobo se você usasse '' em vez de null
no banco de dados dele. Penso que os mesmos princípios se aplicam à programação e deve haver alguém para dar um tapa na cabeça daqueles que usam String.Empty
mais do que NULL
para não representar nenhum valor.
Perguntas relacionadas