Programmazione per utilizzo

2

Ho programmato per 15 anni e spesso leggo online che sembra che molte persone pianifichino i loro oggetti e il modo in cui interagiscono e i dati di cui hanno bisogno e che sembra modellare l'interfaccia esposta. Tuttavia, trovo che il mio cervello funzioni dall'uso all'indietro alla struttura e ai dati. Mi chiedo se questo è comune e qualsiasi pro / contro a questo approccio a cui chiunque possa pensare, e quale sia la tua mentalità quando viene lanciata una nuova attività. Voglio esplorare altre idee e approcci mentali ma conosco solo la mia mentalità e l'ho fatto così a lungo. È questo che fanno tutti?

Ad esempio, se dovessi svolgere il compito di creare una classe di cucitrice, scriverei l'utilizzo che per me avrebbe senso prima e in che modo vorrei utilizzarlo e quindi inserire tale utilizzo. La prima cosa che faccio è aprire il blocco note ++ e digitare:

Stapler stapler = new Stapler(200);

stapler.Load(200);
stapler.Staple(papers);
stapler.UnJam();
int stapleCount = stapler.StaplerCount;

Guardando questo mi dice che la mia spillatrice ha bisogno di queste funzioni / proprietà e posso dedurre quali sono i parametri guardandoli la maggior parte del tempo.

Mi sembra che sia più facile pensare in termini di utilizzo del codice come questo vs pensare a un oggetto astratto ea tutte le sue funzionalità prima di scrivere qualsiasi codice. Scrivere l'uso spesso rende l'oggetto astratto reale nella mia mente ed è più facile da afferrare.

    
posta user441521 31.07.2014 - 14:55
fonte

2 risposte

2

Il tuo "utilizzo" non è in realtà solo un'altra forma di casi d'uso, perché il tuo prototipo di utilizzo, in pratica, fa quello che usi i casi che modellano l'uso degli oggetti. In questa forma, penso che molte persone facciano uso di diagrammi dei casi. I diagrammi del caso d'uso derivano dal documento delle specifiche. Quindi immagino che sia all'interno del processo di pianificazione degli oggetti. Solo la mia prospettiva, comunque. L'ho notato e volevo inserirmi.

    
risposta data 29.08.2014 - 01:49
fonte
1

Come altri hanno commentato, il tuo approccio è molto simile al TDD e piuttosto comune. Anche se non tutti adottano questo modo di scrivere il codice, è davvero una questione di gusto personale. Se stai cercando altri stili da provare, prova a programmare in coppia con altri sviluppatori che hanno stili diversi e provali per te.

Se stai cercando un approccio allo sviluppo totalmente diverso, specialmente per i sistemi complessi di grandi dimensioni, prendi in considerazione SOA - Solitamente pronunciato "Soh-uhh" .Questo è un approccio non funzionale alla scrittura di sistemi software (il tuo stile sembra essere "funzionale") e l'idea è di rendere tutto anti-fragile - i problemi sono isolati da soli aree di interesse ed è un po 'come TDD per l'architettura del software.

    
risposta data 31.07.2014 - 18:19
fonte

Leggi altre domande sui tag