Domanda

Lavoro per una piccola società di sviluppo web (solo da 2 a 3 sviluppatori) che lavora su una vasta gamma di progetti per clienti diversi (da CMS a siti di e-commerce).

Di solito lavoriamo sui nostri progetti, ma occasionalmente dobbiamo lavorare insieme su uno. Usiamo sovversione come il nostro software di controllo del codice sorgente e i siti sono sviluppati in .NET usando VS 2008 e SQL 2005.

Dopo aver letto molti post riguardanti i test unitari e altri "enterprise" pratiche di codifica di livello mi chiedevo cosa fanno gli altri sviluppatori per piccoli progetti che richiedono solo una manutenzione minima e tempi di sviluppo brevi?

Sto pensando in particolare a cose come la necessità di test unitari, ecc.

È stato utile?

Soluzione

Il test unitario è necessario a prescindere. Se scrivi il codice, il test unitario. Lavoro molto anche da solo. Ho ancora test. Non so come abbia mai scritto il codice prima di esso.

Ecco come la vedo io. non hai necessariamente bisogno degli stessi strumenti costosi dei ragazzi grandi, ma se vuoi essere grande, devi pensare in grande. Fai le stesse cose, segui le stesse pratiche. Man mano che le tue esigenze crescono, ottieni strumenti migliori. Ad esempio, se si esegue la creazione di diagrammi UML, è possibile che non sia necessario alcun saftware. Solo una lavagna / carta. Ma usa ancora UML. Quando le tue esigenze crescono, puoi cercare software speciali.

Anche la gestione del progetto. Non sono necessariamente necessari gli strumenti costosi per tenere traccia dei progetti, purché lo facciano. Man mano che le tue esigenze crescono, puoi ottenere software specializzati.

In breve, fai le stesse cose che faresti se fossi più grande, ma non hai necessariamente bisogno degli stessi strumenti. Acquisire secondo necessità.

EDIT: dovrei menzionare che parte di ciò che fai ovviamente dipende dai tuoi metodi / processi che usi. Ad esempio, fai uno sviluppo agile? Essendo piccoli non devi necessariamente fare esattamente lo stesso. Ad esempio, provo ad essere agile, ma ovviamente non accoppiamento programma :). Devi solo imparare ad adattarli a ciò che funziona per te.

Altri suggerimenti

Penso che l'errore più grande che si possa fare sia quello di liquidare qualcosa per essere uno standard di codifica di livello 'enterprise'. Sebbene roba come CI, server di build, unit test, standard di codifica (non riesco a pensare cos'altro si possa intendere) ecc. Potrebbe richiedere un sovraccarico iniziale, ma pagheranno i dividendi a lungo termine. Ad esempio, se il tuo progetto è stato violato insieme ora e tre anni dopo il tuo cliente desidera aggiungere una funzione, sarai contento di aver dedicato il tempo necessario per eseguire subito i test unitari. (OK, questo può succedere o meno, ma ... se il tuo cliente fa in modo che qualcuno guardi la tua soluzione in futuro e vede un codice gravemente compromesso, potrebbe non usarti di nuovo).

Ricorda anche più fai queste cose, più veloce diventerà.

Anche il nostro ambiente di sviluppo è piuttosto piccolo. Facciamo principalmente lo sviluppo web Java (alcuni php) al contrario di .NET o qualcos'altro. Utilizziamo Project Locker per il nostro sistema di tracciamento di wiki, svn e bug. Per lo sviluppo del codice varia tra Netbeans 6.1 ed Eclipse e MySQL come backend del nostro database.
Abbiamo reso pratica standard la scrittura di unit test per il nostro codice. Rende molto più semplice l'aggiornamento della nostra base di codice 4 mesi dopo.

Il fatto è: dormi molto meglio di notte se sai che almeno i test unitari hanno funzionato bene prima di distribuire quella roba.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top