Penso che questo sia un argomento valido, ma il motivo per cui si ottengono risposte miste dipende dal modo in cui è stata formata la domanda. Personalmente, ho avuto le stesse esperienze con la mia squadra dove passare i membri come argomenti era inutile e contorto il codice. Avremmo una classe che funziona con un insieme di membri, ma alcune funzioni accedono direttamente ai membri e altre funzioni modificherebbero gli stessi membri attraverso parametri (ad esempio, usano nomi completamente diversi) e non c'era assolutamente alcuna ragione tecnica per farlo. Per ragioni tecniche, intendo un esempio fornito da Kate.
Suggerirei di fare un passo indietro e invece di concentrarsi esattamente sul passaggio dei membri come parametri, avviare discussioni con il tuo team sulla chiarezza e leggibilità. O più formalmente, o semplicemente nei corridoi, discutete su cosa rende più facile leggere alcuni segmenti di codice e altri segmenti di codice più difficili. Quindi identifica le misure di qualità o gli attributi di codice pulito che come squadra vorresti ottenere. Dopotutto, anche quando lavoriamo su progetti di campo verde, dedichiamo più del 90% del tempo a leggere e non appena il codice viene scritto (diciamo 10-15 minuti più tardi) va in manutenzione dove la leggibilità è ancora più importante.
Quindi, per il tuo esempio specifico qui, l'argomento che userei è che meno codice è sempre più facile da leggere di più codice. Una funzione che ha 3 parametri è più difficile da elaborare per il cervello rispetto a una funzione che non ha nessuno o 1 parametro. Se c'è un altro nome di variabile, il cervello deve tenere traccia di un'altra cosa mentre legge il codice. Quindi, per ricordare "int m_value" e poi "int localValue" e ricordare che uno in realtà significa che l'altro è sempre più costoso per il tuo cervello, quindi funziona semplicemente con "m_value".
Per ulteriori munizioni e idee, ti consiglio di prendere una copia del codice pulito