Sto tentando di prendere l'abitudine di scrivere regolarmente test unitari con il mio codice, ma ho letto che prima è importante scrivere codice verificabile . Questa domanda tocca i principi SOLID della scrittura di codice testabile, ma voglio sapere se quei principi di progettazione sono vantaggiosi (o almeno non dannosi) senza pianificare la scrittura di test. Per chiarire - Capisco l'importanza di scrivere test; questa non è una domanda sulla loro utilità.
Per illustrare la mia confusione, in il pezzo che ha ispirato questa domanda, lo scrittore fornisce un esempio di una funzione che controlla l'ora corrente e restituisce un valore in base al tempo. L'autore fa riferimento a questo come codice errato perché produce i dati (il tempo) che utilizza internamente, rendendo così difficile il test. Per me, però, sembra un eccesso nel passare il tempo come argomento. Ad un certo punto il valore deve essere inizializzato, e perché non più vicino al consumo? Inoltre, lo scopo del metodo nella mia mente è di restituire un valore basato sul tempo corrente , rendendolo un parametro che implichi che questo scopo può / deve essere cambiato. Questa e altre domande mi portano a chiedermi se il codice verificabile fosse anche il codice "migliore".
La scrittura del codice verificabile è ancora buona pratica anche in assenza di test?
Il codice verificabile è effettivamente più stabile? è stato suggerito come un duplicato Tuttavia, questa domanda riguarda la "stabilità" del codice, ma mi sto chiedendo in modo più ampio se il codice è superiore anche per altri motivi, come la leggibilità, le prestazioni, l'accoppiamento e così via.