Le cose che gli sviluppatori fanno prima della fase di codifica [chiuso]

2

Sono un nuovo sviluppatore di software e nel mio stage il mio capo mi ha chiesto di sviluppare un'applicazione che gli consenta di gestire il suo inventario. Qualcosa di piccolo ma, per me, molto arricchente.

L'applicazione è in esecuzione, ha trovato alcuni bug e problemi, ma li ho riparati. Questo non è il problema. Il mio problema è che quando stavo lavorando all'applicazione, non sapevo cosa stavo facendo, quindi tutto era in disordine. Il progetto mi ha richiesto 2 mesi e un altro sviluppatore ha detto che avrebbe potuto farlo in un mese o meno. Questo mi ha sorpreso, quindi voglio sapere:

In che modo uno sviluppatore professionista pianifica un progetto prima di iniziare lo sviluppo?

    
posta Redaa 07.08.2014 - 21:13
fonte

1 risposta

11

Quindi vuoi sapere come diventare uno efficiente sviluppatore?

1) Devi sviluppare capacità di comunicazione

Prima di iniziare qualsiasi progetto, devi parlare con il tuo cliente (nel tuo caso il tuo capo) su ciò che vuole. La difficoltà qui non è solo capire, ciò che il tuo cliente dice , ma ciò che intende veramente - queste sono la maggior parte delle volte due cose diverse. Aiuta se ottieni i tuoi requisiti in frasi semplici. Più semplice è, meglio è. Potresti farlo formalizzato con "user story" o "story card", ma un semplice sistema di ticket lo farà.

2) Devi sviluppare un toolbelt e uno skillset

Come ogni buon artigiano, hai strumenti e abilità. Una parte degli Strumenti è Framework nella lingua in cui lavori. Più conosci (se per sentito dire o in profondità non importa) meglio è per te. Un'altra parte sono strumenti reali: buildtools, strumenti di monitoraggio ecc.

E poi ci sono abilità. In un primo momento: stai attento nella tua lingua. Più conosci la lingua in cui lavori e più riesci a risolvere i problemi in questa lingua. Conoscere la sintassi non è sufficiente: devi sapere come esprimerti nella lingua in cui lavori: come un autore che scrive prosa o poesia, devi conoscere la tua lingua. Ciò include una parte importante - che trovo spesso trascurata dai novizi: la conoscenza delle strutture dati, la tua lingua offre: che tipo di strutture ci sono? come lavorano internamente? quanto sono efficienti?

Quindi è necessario avere una conoscenza pratica dei problemi che altri hanno già risolto (Algoritmi e Patterns di progettazione). Quanto meglio comprendi, ciò che altri hanno già fatto, più velocemente svilupperai la tua soluzione. A volte la programmazione è come mettere insieme tubi esistenti e il problema è risolto.

3) Pensa al tuo problema

Analizza il tuo problema da diverse prospettive: GUI, Backend, Database, Client, Server, qualunque prospettiva tu possa adottare.

4) Scrivi le tue specifiche in accept-tests

Solo quando la tua soluzione supera tutti i test di accettazione, sei sicuro di aver creato il prodotto giusto.

5) Inizia a scrivere piccole unità e testare quelle unità

Sia che tu scriva prima i test, come le scuse di TDD dicono o scrivono il codice e che il test non ha importanza, a patto che tu abbia dei test. Sei il tuo peggior nemico e nulla accade più spesso che rompere il tuo codice. La scrittura di test aiuta a rilevare la sciatteria.

6) Ricevi feedback precoci e frequenti.

Dopo aver scritto piccoli pezzi di codice e testato quei frammenti mostra il risultato al tuo cliente. Parla dei risultati frequentemente e in profondità. In questo modo ottieni una sensazione migliore, per ciò che il cliente desidera e un riscontro immediato per quello che stai facendo.

The project took me 2 months and another developer said that he could do it in a month or less.

Quindi, quando un altro sviluppatore ha detto questo, ciò significa solo che ha più esperienza (più problemi già risolti) e una migliore conoscenza, come sondare una simile soluzione.

La programmazione è un'abilità come le altre. Devi allenarti e presto migliorare.

    
risposta data 07.08.2014 - 21:54
fonte

Leggi altre domande sui tag