Mi è stato dato un piccolo progetto da completare nel weekend per un'intervista. Non è un progetto molto difficile. Fortunatamente, sono stato in grado di dedicare tutto il mio tempo a progettare, sviluppare e testare l'applicazione piuttosto che dover ricercare qualcosa che non mi era familiare.
Dopo aver risolto un paio di bug critici, mi chiedo se dovrei aggiungere qualcosa di più al compito. Supponiamo, a questo punto:
- tutto è commentato
- nessun bug trovato
- vengono gestite eventuali eccezioni conosciute
- 8 ore rimangono nel tempo assegnato
Quindi, è meglio andare avanti e inviare un incarico operativo privo di bug prima della scadenza?
... o ... Prendi il tempo completamente assegnato per aggiungere una funzione (ovviamente qualcosa di semplice come la registrazione)?
... o ... Fornisci un elenco di TODO che potrebbero migliorare la flessibilità, la scalabilità o l'usabilità generale? Questi sarebbero miglioramenti che semplicemente non potrebbero essere fatti in un giorno o potrebbero introdurre anche molti problemi da risolvere nel tempo assegnato.
FWIW: il progetto consisteva nella creazione di un controller di ordinamento multi-thread che implementava 3 diversi algoritmi di ordinamento; risultati da visualizzare sull'interfaccia utente di WinForms.