2016-05-19 14 views
8

Il titolo è abbastanza auto-esplicativo. Aggiungo spesso tracce durante il debug, che richiede l'aggiunta dell'importazione Debug.Trace. Tuttavia, altrettanto spesso mi dimentico di rimuoverle quando ho finito.Posso chiedere a GHC di importare Debug.Trace per ogni modulo durante lo sviluppo?

Quello che mi piacerebbe sarebbe un interruttore "dev" che aggiungerebbe l'importazione, in modo che quando lo disabilito potrei facilmente trovare tutte le tracce lasciate nel codice.

+3

Perché non importare 'trace' da un interno' .Utils' piuttosto che direttamente da 'Debug.Trace', ed elimina l'esportazione di' trace' da quel modulo quando hai finito? – Michael

+0

@ Michael hah, questa è davvero una buona idea. IOW, dovrebbe essere una risposta :) –

+0

In realtà, è possibile creare un modulo "OnOffTrace" in cui un flag del compilatore ha determinato tale esportazione. Forse è qualcosa che vale la pena mettere su Hackage. Mi piace l'Util in più perché sembra meno intrusivo. Tuttavia, la soluzione * ideale * non richiederebbe l'aggiunta di alcuna importazione. –

risposta

4

Perché non importare la traccia da un modulo interno .Utils anziché direttamente da Debug.Trace ed eliminare l'esportazione di trace da quel modulo quando hai finito?

È diverso, ma un altro espediente che ho raccolto da qualche parte è quello di alternare tra trace _ = id e import Debug.Trace (trace). Quindi puoi ad es. andare avanti e indietro tra l'uso (reale) trace e fare cose come il benchmarking, che è naturalmente rovinato da trace. Quindi, quando hai finito, puoi eliminare l'esportazione di (o) trace e dare la caccia a tutte le prove rimanenti che hai mai usato nel tuo progetto ...

Problemi correlati