A volte scrivo codice costruttore come
class X
{
public:
  X( const int numberOfThingsToDo ) :
    numberOfThingsToDo( numberOfThingsToDo )
  {
  }
private:
  int numberOfThingsToDo;
};
o in C #
class X
{
  public X( int numberOfThingsToDo )
  {
     this.numberOfThingsToDo = numberOfThingsToDo;
  }
  private int numberOfThingsToDo;
}
 Penso che la ragione principale sia che quando trovo un nome membro appropriato, non vedo alcun motivo per usarne uno diverso per l'argomento inizializzandolo, e visto che non sono nemmeno un fan dell'uso dei caratteri di sottolineatura, il più semplice è solo prendere lo stesso nome Dopotutto è adatto.
È considerata una cattiva pratica? Qualche inconveniente (a parte spararti nel piede quando dimentichi il   this    in C #)?