Progetta un programma e metodi per farlo

4

Sto lavorando per diventare un programmatore autodidatta. Ho letto un po 'attraverso molte lingue e ho deciso di iniziare con Java e lo sto usando da diversi mesi. Non ho avuto molti problemi dato che la maggior parte dei miei programmi sono relativamente semplici, o giochi che non richiedono molta pianificazione. Questo fino al mio ultimo progetto con il quale mi sono sfidato, creando applicazioni di chat client / server con una GUI. Con solo l'idea nella mia testa su come funzionavano le prese e la mia sintassi appena appresa, ho iniziato a farlo. Prima che me ne accorgessi, mi sono ritrovato con un pasticcio di programma che stavo trovando MOLTO difficile da lavorare e alla fine ero così ridicolo da non riuscire a far funzionare cose semplici e ho dovuto cancellare tutto e ora sto iniziando al di sopra di. Così ho preso che ho bisogno di alcune pratiche migliori.

Ora per le domande. Come qualcuno che è autodidatta, sono destinato a sviluppare diverse cattive abitudini, e praticamente non pianifico nulla prima di scrivere un programma a parte l'idea nella mia testa, quindi:

  1. Quali sono alcuni buoni modi per iniziare a sviluppare migliori abitudini di programmazione?
  2. Quando pianifichi un programma, esistono dei buoni metodi per farlo?
  3. Oltre all'esperienza, che altro potrei aver bisogno prima di provare a intraprendere un grande progetto del mondo reale come programmatore? Come uno per un lavoro. (Quante lingue dovrei sapere, che tipo di problemi dovrei essere in grado di gestire, quel genere di cose.)
posta cgasser 15.05.2012 - 22:59
fonte

2 risposte

3

Come ha già detto Ryathal, pratica e non smettere mai di praticare. Alcune delle migliori esperienze che ti insegnano le competenze e ridefiniscono il modo in cui ti avvicini allo sviluppo del software sono i fallimenti. I fallimenti spettacolari bruciano quelle lezioni nel tuo cranio.

Oltre alla pratica diretta, poche altre cose che potresti fare:

  • Continua a leggere libri. E non solo sui linguaggi di programmazione, ma anche su altri aspetti dello sviluppo del software. Uncle Bob (Robert C. Martin) ha una coppia che vale la pena leggere: "Clean Code", "Agile Practices, Patterns and Principles". Anche Pragmatic Programmer è una lettura altamente raccomandata.

  • Circondati di persone che sono migliori di te nella programmazione. Trovare qualcuno in grado di rivedere il tuo codice e chi puoi farti rimbalzare idee sarebbe molto utile per te. Usa questo sito, così come SO e CodeReview stackexchange il più possibile, ma la persona locale sarebbe ovviamente migliore. SUGGERIMENTO: il cibo gratuito (e birra) ha una lunga tradizione con molti programmatori se stai cercando il loro aiuto / consiglio. Se non hai amici o amici di amici, puoi provare a controllare alcuni gruppi di utenti locali per tecnologie specifiche nella tua zona.

  • Btw, sono un grande sostenitore del TDD e una delle persone chiave che sta cercando di promuovere la sua adozione più ampia dove lavoro. Tuttavia, ho visto molti programmatori professionisti molto esperti fallire miseramente mentre facevano quello che pensavano fosse TDD. Penso che finché non avrai più esperienza nella progettazione del software, TDD triplicherà o quadruplicherà la quantità di codice che devi mantenere, e tutto quel codice si trasformerà in un incubo che ti farà odiare il progetto su cui stai lavorando. Per ora concentrati solo sul software stesso. Non ti preoccupare se non è controllabile automaticamente, la maggior parte di esso probabilmente finirà per essere sempre in pericolo.

risposta data 16.05.2012 - 08:23
fonte
2
  1. Programma di più, torna indietro e guarda il tuo vecchio codice e prova a capire cosa sta facendo e come lo fa, e programma di più.
  2. Ci sono centinaia di migliaia di idee diverse su come sviluppare il software wikipedia ha una buona lista. Agile e TDD sono il buzz più attuale, ma non il migliore.
  3. Più esperienza :) Potresti iniziare con qualcosa di piccolo e aggiungere semplicemente altre funzionalità a quel progetto, come creare un sito web, aggiungere la possibilità di accedere come utenti diversi, aggiungere un modo per inviare messaggi o un vero chat di tempo, aggiungi un piccolo gioco, ecc. Quello che devi sapere dipende dal lavoro che vuoi, qui ci sono molte domande che danno più dettagli se si guarda per tipo.
risposta data 15.05.2012 - 23:26
fonte

Leggi altre domande sui tag