La leggibilità delle funzioni / metodi "equivalenti" vale il suo costo di manutenzione?

2

Prima di tutto, mi dispiace se si tratta di un duplicato, non potrei pensare a nessuna "corretta" dicitura per cercare su questo.

In secondo luogo permettimi di chiarire: con "equivalente" intendo i metodi che hanno lo scopo di avere lo stesso comportamento, sia per la progettazione di API che per altri motivi.

Un esempio di questo è Java Deque interfaccia (o ArrayDeque se vuoi parlare di un'implementazione).

Estende le interfacce Collection e Queue , ma dichiara anche i propri metodi per la leggibilità (cosa che credo sia) e per la "disambiglianza". I documenti Java hanno il seguente:

Comparison of Queue and Deque methods

Queue Method > Equivalent Deque Method

add(e) -> addLast(e)
offer(e) -> offerLast(e)
remove() -> removeFirst()
poll() -> pollFirst()
element() -> getFirst()
peek() -> peekFirst()

Ora alla mia domanda:

Ho una situazione simile in cui ho bisogno di estendere un'interfaccia di terze parti, ma la denominazione utilizzata in quell'interfaccia può diventare ambigua nel mio nuovo contesto di interfaccia.

La mia domanda si riduce a quanto segue: i metodi / le funzioni equivalenti valgono il suo costo? Ad esempio, durante la scrittura di test, dovrei fare (nell'esempio di Deque):

@Test
void testAddLast(){ ... }

@Test
void testAddAndAddLastEquivalence(){ ... }

e quindi aggiungere una piastra di delega simile alle implementazioni.

Sto pensando solo a scrivere documentazione e ad abbandonare il metodo "equivalente" più leggibile.

Esiste un consenso circa la leggibilità del trading per la manutenibilità nelle pratiche di codifica in questi casi o è troppo ampio?

    
posta LouizFC 20.09.2018 - 21:27
fonte

0 risposte

Leggi altre domande sui tag