ReSharper appena mi ha spinto su questa linea di codice:È sempre corretto non inizializzare esplicitamente un valore se lo si imposterà solo sul valore predefinito?
private static bool shouldWriteToDatabase = false;
che indica che non dovrei dire "= false", perché bools, a quanto pare, default to false in C#. Ho programmato in C# per oltre un anno e mezzo e non lo sapevo mai. Immagino che sia scivolato tra le fessure, ma questo mi fa pensare a cosa sia una buona pratica.
Lavoro supponendo che i valori predefiniti siano compresi da tutti? Ciò risulterebbe in un codice più pulito, ma invita all'ambiguità se un altro programmatore non è a conoscenza del valore predefinito.
Non sono d'accordo con quella regola ReSharper e la disabiliterei immediatamente se dovessi usare ReSharper. Chi si ricorda mai quali sono i valori predefiniti? –
@DavidePiras Mentre acconsento a disabilitare questa regola, io ** fortemente ** non sono d'accordo con la tua seconda affermazione. Ogni sviluppatore C# dovrebbe avere una conoscenza di base dei valori predefiniti - ed è facile in .NET, poiché le regole CLI per i valori predefiniti sono sostanzialmente valori "zero". Devi solo ricordare null per i tipi di riferimento, false per bool e zero per tutti i tipi numerici primitivi. Diventa strano quando si guardano tipi come DateTime, ecc., Ma per questi tipi, il valore predefinito non è in genere mai un buon valore di inizializzazione ... –
@DavidePiras Quali valori predefiniti non conosci? – Marc