Per quanto mi riguarda, se la tua funzione è chiamata isTransposed
, allora il controllo dei valori di 11/11
e 11/11
dovrebbe produrre true
.
La definizione di trasposizione è:
Cause (two or more things) to change places with each other.[1]
... non ha nulla a che fare con input e output identici.
Pensa a:
/**
* Check whether date2 is the same as date1 with the month and day
* transposed.
*/
boolean isTransposed(Date date1, Date date2);
Tuttavia, avendo:
/**
* Determine whether or not the month and day of date1 have been
* transposed in date2.
*/
boolean hasBeenTransposed(Date date1, Date date2);
Quindi potrebbe fallire, perché non avrebbe un modo ragionevole per capire se veramente è stato effettivamente trasposto con successo.
Aggiorna :
Dopo aver ricevuto numerosi commenti su come "posso solo indovinare quale sarebbe il risultato previsto" , permettimi di cancellare tutto una volta per tutte.
La domanda è:
When checking for transposed day and month values between two Dates - should comparing 11/11/2000 and 11/11/2000 return true or false?
E la funzione è:
boolean isTransposed();
Ora, questa funzione contiene due parole: è e trasposto . Sappiamo tutti cosa è si riferisce a: essere . Non potrebbe essere : essere . Puoi trovare la definizione per transposed sopra.
Non c'è alcun tipo di contesto e nessuna di queste due parole è in grado di dare un'interpretazione: ognuna ha una propria definizione chiara.
La domanda non è "Il nome di questa funzione è appropriato?" o "Cosa dovrebbe controllare questa funzione?" . Se uno pensa diversamente, allora è lui a indovinare.