Come chiameresti due elementi in un array che sono solo collegati tra loro attraverso le loro posizioni? [chiuso]

-2

Ho una matrice che contiene dati preziosi relativi a ciò che ho memorizzato in un processo di installazione / onboarding:

$imported_headers = [ 'headers_2', 'headers_3' ];

Dato che questi elementi appartengono alla stessa categoria ma il loro contenuto [di ogni elemento] varia di tanto in tanto e ognuno di essi contiene solo riferimenti che mi consentono di approfondire la storia catena per altri processi, quale migliore dovrei chiamare questi 2 articoli?

I gemelli non funzionano - non sono gli stessi né voglio che le persone che usano la mia funzione li recuperino per pensarli in questo modo; Suore - lo stesso, non voglio indicare alcun tipo di intesa similitudine della suddetta struttura / valori dei componenti .

vicini? $imported_headers avrà a volte fino a 10 elementi in esso, ma questa funzione recupererà precisamente solo gli ultimi 2, i vicini avranno una sorta di finalità - presumibilmente non ci sono più vicini se la mia funzione viene chiamata e recupera solo questi 2 valori.

Il mio ragionamento per fare una domanda apparentemente inutile, oltre a tormentare i puristi di SE, è che questa funzione fa parte di 10+ funzioni che legano il mio sistema insieme e sarà ampiamente usata sia dal mio sistema che da chiunque voglia usare il mio API, deve essere descrittivo e chiaro. Attualmente il mio nome funzione è getSisterComponents . È importante che io possa avere una spiegazione tecnica simile alla conversazione sul mio codice con altri sviluppatori, in cui non devo spiegare ogni funzione, anche se il suddetto sviluppatore potrebbe non essere a conoscenza della sua implementazione.

Un esempio di come funziona esattamente il mio sistema:

Se chiamo myPerfectFunctionName( 'headers' ); dovrebbe restituire il seguente array: ['demo-3_headers', 'demo-5_headers'] , in quanto tale, chiunque veda / usa questa funzione capirà immediatamente che sto interrogando il sistema di back-end per cercare i componenti installati da una categoria e tira gli ultimi 2 oggetti installati dalla suddetta categoria.

Voglio che esprima che la funzione è una query importante, importante e che questi 2 valori sono vitali per qualunque processo utilizzi la funzione per recuperarli. Semplicemente nominandolo 'getLastTwoInstalledComponentsByCategory' non esprime l'utilizzo ed è generico.

    
posta coolpasta 03.12.2018 - 06:36
fonte

2 risposte

2

I want it to express that the function is a main, important query and that these 2 values are vital to whatever the process that's using the function to retrieve them does

Qualunque cosa importante dovrebbe essere racchiusa nella sua classe, forse chiamata "Contesto". (In un mondo ideale, il contesto verrebbe iniettato, ma ciò non è pertinente alla domanda in questione).

La classe Context potrebbe esporre due membri, ad esempio "PrimaryHeader" e "SecondaryHeader" o qualsiasi altro nome appropriato per il tuo dominio problematico. Scorporrei l'uso di termini come "Componente", "Fratello" o "Sorella" perché quei termini sono privi di ambiguità per chiunque cerchi di imparare la tua API, e le persone non vogliono davvero imparare più terminologia di quanto sia assolutamente necessario. / p>

Se sono veramente logicamente estranei, le intestazioni primarie e secondarie dovrebbero essere ottenute separatamente, tramite membri separati della classe. Se c'è un problema di prestazioni che richiede di recuperarli entrambi contemporaneamente, risolvi il problema con il caching read-ahead (ad es. Quando il chiamante ne richiede uno, prendi entrambi e salvalo per dopo. Oppure mantieni semplice e popola entrambi nel costruttore di Context). Ma non costringere il chiamante ad affrontare ciò che è veramente un dettaglio di implementazione. Questa è chiamata astrazione leaky .

    
risposta data 03.12.2018 - 07:03
fonte
1

L'ultimo e penultimo (quello precedente) / i due ultimi / ultimi bambini o fratelli.

Il bambino e il fratello sono le nozioni convenzionali.

    
risposta data 03.12.2018 - 14:37
fonte

Leggi altre domande sui tag