Alle os programmører, uanset hvilket sprog, uanset hvilken type projekt, vi arbejder på, har lidt under resultatet af dårlig planlægning eller manglende der. Dette sker især på hobby-projekter, hvor vi ikke er tvunget til at planlægge, som om vi var på arbejde (Selvom planlægning der ofte stinker). Da jeg var beggining programmør jeg aldrig færdig et projekt forbi en tutorial eller lille test funktionalitet. Årsagen hvorfor er fordi jeg var til doven til selv at forsøge at planlægge mit projekt. Jeg troede, jeg kunne gøre det hele i mit hoved. Gæt hvad? Det virker ikke.
Der er mere til succes så bare skrive en plan om, kan dårlig planlægning få dig igennem, men det bliver alvorlig smerte i røven senere. Nøgleordet her er detaljer. Folk i spilindustrien ved sikkert, hvad jeg taler om. At skulle arbejde med en vag overblik over, hvordan noget virker helt sucks.To forklare, hvad du skal gøre, vil jeg bruge mit operativsystem projektet som et eksempel. Skrive et operativsystem er et meget stort og komplekst projekt, og derfor et godt eksempel for planlægning. Da jeg begyndte at arbejde på dette projekt det første, jeg gjorde, var at sætte en googlecode konto.
Jeg siger ikke, at du er nødt til at bruge googlecode og være open source, men den lektie her er wikien. Wikis er Guds gave til programmører til planlægning. Jeg kan opdatere, redigere og omskrive dele af mit design med lethed og på en organiseret måde. Når du er færdig med at oprette et sted at skrive dit design, skal du layout formålet med dit projekt. Her er nogle retningslinier. 1. Hvilken type projekt vil du arbejde på? 2. Hvilke funktioner vil dit projekt have? 3. På hvilken platform vil det køre? (Windows, Linux, ect.) 4.
Hvem vil bruge den? Efter om det grundlæggende fundament for dit projekt design, er du nødt til at skrive et overblik over, hvordan det vil fungere (The Nitty grynet ting kommer sidstnævnte). En god måde at starte denne er at tænke på dit projekt som en samling af blokke eller komponenter al montering og velfungerende sammen. Gør dette hjælper dig med at visualisere, hvad du skal gøre, når du skriver din kode. Her er et eksempel på en monolitisk kerne overview.Lastly, skal du lave en detaljeret beskrivelse af dine projekter interne arbejdsgange.
Skriv de vigtigste funktioner, som du bliver nødt til at få det til at virke. Hvad jeg mener med vigtigste er de funktioner, som, for det meste, ikke er afhængige af hinanden. Deres subfunktioner ikke er nødvendigt at skrive ud, beca