Is the goal to divide the work up and decides who does what or should one person code and the other person reviews and switch roles after a while?
A meno che il tuo istruttore non ti abbia detto esplicitamente come condividere l'attività, spetta a te e al tuo partner decidere. Quindi inizierei a discuterne con lui / lei. Ciò include una valutazione approssimativa delle tue qualità e abilità - niente di male, solo per vedere se sei più o meno sullo stesso livello, o uno di voi è più abile / esperto in qualche aspetto del lavoro . Ciò influenza in maniera abbastanza strong le tue opzioni.
Se voi due siete all'incirca allo stesso livello, probabilmente il migliore è tentare di risolvere almeno i compiti più fondamentali - mettere a punto un progetto approssimativo e implementare un'applicazione scheletrica in codice - insieme. è necessario realizzare un design perfetto e brillante - ci vuole molta esperienza per riuscirci. È meglio provare a inventare idee, discutere su come il programma potrebbe funzionare nel modo previsto e, in caso di dubbio, scrivere codice per verificare le tue idee. Il risultato è uno skeleton , contenente tutte le parti principali del programma e capace di alcune funzionalità molto semplici per dimostrare che il sistema funziona fino in fondo. Per esempio. lo scheletro di un elaboratore di testi sarebbe in grado di aprire un file molto semplice, visualizzarlo in una finestra dell'editor, quindi salvarlo. Un server Web scheletro sarebbe in grado di rispondere alla richiesta GET HTTP più semplice inviando una risposta "200 OK" con alcuni contenuti codificati. Ecc ecc.
Una volta che sei pronto con questo, puoi iniziare a dividere le attività tra voi due se lo preferite. In effetti, il secondo obiettivo principale della creazione dello scheletro è consentire a più persone di lavorare sul codice in parallelo. Il che implica che mettere tutto in un unico file di codice sorgente non è la migliore idea qui; -)
Una nota (probabilmente ovvia): se non hai mai utilizzato un sistema di controllo versione, ora è il momento di iniziare a usarne uno.
Se, OTOH, uno di voi è notevolmente più abile / interessato ad alcune aree, potrebbe essere ovvio dare un compito a lui / lei correlato. L'altro potrebbe voler guardare e seguire comunque, o per ottenere una presentazione in seguito, per imparare anche quell'abilità. In un secondo momento, quando entrambi conoscete già le basi del lavoro di squadra e risolvendo i problemi, potreste scegliere di fare il contrario, lasciando che il minore esperto faccia un compito specifico per pareggiare il vostro skillset.
* Nota a margine: questo processo può includere o meno la programmazione delle coppie. Se entrambi siete aperti all'idea della programmazione di coppie, perché non provarci. Tuttavia, assicurati di lavorare davvero insieme, con entrambi i partecipanti e i ruoli di commutazione frequenti. Se uno di voi sta dominando e l'altro sta solo cercando di rimanere sveglio, questo non aiuta nessuno di voi e dà solo una brutta esperienza.
Quindi, se non ti piace l'idea della programmazione della coppia, e / o hai qualche brutta esperienza (come sembri aver menzionato nel tuo post), e / o ritieni che sarebbe una cosa troppo da imparare a questo punto, puoi lasciarlo fuori. Hai ancora bisogno di molta collaborazione tra di voi, quindi assicuratevi di incontrare, discutere e condividere i vostri risultati frequentemente.