È TDD valido in progetti open source collaborativi

11

Diciamo che volevo avviare un progetto open source che spero / preveda che molte persone inviino patch e quant'altro. È fattibile adottare un approccio TDD rigoroso? Posso / devo aspettarmi / confido che i collaboratori scrivano test di qualità ogni volta che inviano una patch?

Una cosa a cui stavo pensando è scrivere suite di test per singole segnalazioni di bug e richieste di funzionalità e richiedere che tutte le patch / richieste di pull facciano passare i test, ma a quel punto sembra che sarebbe meglio solo scrivere la funzione / bugfix me stesso.

Per quanto posso dire, la maggior parte dei principali progetti open source che utilizzano TDD (o almeno test di scrittura) sembrano essere scritti principalmente da un singolo individuo o team, dove è facile applicare pratiche come TDD.

    
posta DormoTheNord 19.12.2013 - 08:09
fonte

2 risposte

29

Non puoi applicare efficacemente un approccio TDD (prova prima) su un progetto open source in cui le patch possono essere presentate dal pubblico in generale.

Ciò che puoi applicare è che tutte le patch devono avere una serie di casi di test per le correzioni incluse nella patch e che quei casi di test, così come tutti i casi di test esistenti, devono passare. È possibile far rispettare ciò dando solo dei diritti di commit ad alcuni sviluppatori fidati che sono noti per utilizzare e accettare le politiche del progetto e dichiarando pubblicamente che le richieste / richieste di pull saranno incorporate solo se vengono fornite con casi di test (con copertura sufficiente).

Questo non garantisce che il test sia scritto prima , ma garantisce che il test sia scritto .

    
risposta data 19.12.2013 - 08:50
fonte
1

Potresti chiedere alle persone di inviare patch di solo test prima che possano lavorare sul codice; ciò fornirebbe un'ulteriore opportunità per rivedere il progetto pianificato prima che il codice stesso venga scritto.

In pratica, questo può uccidere qualsiasi entusiasmo che le persone hanno per contribuire al progetto - o potrebbe accendere un fuoco in coloro che sono d'accordo con la tua metodologia.

I revisori dovrebbero essere molto bravi nel girare rapidamente le revisioni del design, tuttavia, per non interrompere lo sviluppo.

    
risposta data 19.12.2013 - 18:18
fonte

Leggi altre domande sui tag