Devo creare una funzione che filtra e restituisce una copia mutata dei valori filtrati?

0

Diciamo che ho una funzione il cui input è un array di fruit oggetti, e restituisce un elenco di mele * clonate) da quella lista, con ogni mela clonata mutata con una proprietà aggiuntiva visible su di essa. Un buon nome sarebbe extractApplesAndSetVisibility , o c'è un nome migliore?

    
posta mmigdol 20.08.2016 - 19:02
fonte

1 risposta

1

Non dovresti. Il fatto che tu abbia usato la parola "e" sia nella descrizione di ciò che fa la funzione sia nel nome della funzione suggerisce strongmente che la tua funzione non sta facendo una cosa. Sta facendo due cose, una cosa e un'altra cosa.

Se lo dividi in due funzioni, allora il tuo problema di denominazione viene risolto, perché entrambe le funzioni hanno già nomi standardizzati (infatti, probabilmente non dovrai chiamarli affatto, perché sono molto probabilmente entrambi esistere già nelle librerie core o standard della tua lingua).

Una funzione che filtra una collezione viene solitamente chiamata filter , a volte anche select (Smalltalk, Ruby), where (SQL, XQuery, LINQ), find_all (Ruby); in Algebra relazionale è chiamato Selezione o Limitazione . Una funzione che trasforma elementi di una raccolta viene in genere chiamata map , talvolta anche collect (Smalltalk, Ruby), transform (C ++), select (SQL, XQuery, LINQ); in Algebra relazionale è chiamato Proiezione .

    
risposta data 20.08.2016 - 19:16
fonte

Leggi altre domande sui tag