Skip to content

Instantly share code, notes, and snippets.

@LaPingvino
Created May 8, 2010 22:58
Show Gist options
  • Save LaPingvino/394823 to your computer and use it in GitHub Desktop.
Save LaPingvino/394823 to your computer and use it in GitHub Desktop.

Samen een werkstuk maken volgens een programmeur

Op school worden er veel werkstukken gemaakt, en vaak moet er samengewerkt worden. Ook later in werksituaties zal je vaak samen aan documenten moeten werken. Ik denk dat bijna iedereen die dit ooit gedaan heeft wel weet wat voor een hels karwei het kan zijn om dit goed voor elkaar te krijgen.

  • Mensen gebruiken vaak verschillende software (veel gebruiken Word) en in verschillende versies.
  • Bestanden gemaakt met deze software zijn vaak op verschillende manieren opgemaakt.
  • Aanpassingen zijn moeilijk te communiceren en botsen vaak met elkaar. Veel mensen die moeten samenwerken splitsen daarom het hele werk in veel stukken op, wat voor een inconsistent document qua kwaliteit kan zorgen.
  • Het is een ramp om een uiteindelijke versie te maken die er goed uit ziet.

Programmeurs werken ook veel met elkaar samen, en hebben oplossingen bedacht voor de meeste samenwerkingsproblemen. Het zou zonde zijn om hier geen gebruik van te maken. Een oplossing voor de hierboven opgesomde problemen probeer ik hier uit te leggen. Als alle projectleden zich aan dit document houden kan je een stuk prettiger werkstukken maken, maar ook zonder dat iedereen zich eraan houd kan je ervan profiteren.

Hoe kan je Word vermijden voor een eerste versie?

Voor een werkstuk moet je de struktuur van je stuk kunnen aangeven, links en plaatjes. Word is vaak veel te uitgebreid voor dit, en kan bovendien niet enorm goed met plaatjes overweg (OpenOffice.org kan dit al wat beter, maar is ook niet perfect). Voor het maken van de uiteindelijke versie is Word heel handig, maar voor een eerste versie leiden de vele mogelijkheden voornamelijk af, en kunnen enorm in de weg zitten.

Voor het schrijven van dit document heb ik gebruik gemaakt van Markdown. Dat is een opmaaktaal die goed leesbaar is zonder verdere bewerking, maar die je ook makkelijk naar de uiteindelijk gewenste vorm kan omzetten. Je kan bijvoorbeeld markdownr gebruiken zonder iets te installeren om tekst in Markdown-struktuur om te zetten in HTML. Word en OpenOffice.org kunnen HTML lezen en je kan vervolgens via de mogelijkheid Documentopmaak of Stijlen in Word of OpenOffice.org in één keer de opmaak voor het hele werkstuk instellen. Je weet dan zeker dat alles er consistent uitziet. Natuurlijk als je HTML kent kan je ook het hele werkstuk in HTML opmaken. In principe hoeft maar één lid van de groep dit te kunnen om het uiteindelijke bestand samen te stellen.

Je kan een aardige indruk van Markdown krijgen door dit bestand door te kijken. Het is niet lastig, en het ziet er zoveel mogelijk als normale tekst uit. Hoe het precies werkt staat op de site van Daring Fireball (Uitleg van Markdown).

Het is geen probleem als mensen gewoon via Word of wat dan ook hun tekst schrijven. Als je de tekst in een goede teksteditor zoals Notepad++ plakt en zelf als Markdown opmaakt ben je als het goed is niet veel extra tijd kwijt.

Een voordeel van platte tekst: version control

Programmeurs kunnen het zich niet permitteren om broncode van software kwijt te raken, of door één verkeerde wijziging het werk van jaren te verknoeien. Daarom maken ze gebruik van version control, dat is het het bijhouden van de versies van een bestand. Als iets verkeerd gaat kan je makkelijk terug naar een oude versie van het bestand.

Dit kan je natuurlijk ook voor je werkstuk gebruiken. Je kan bijvoorbeeld TortoiseHg downloaden, een programma die versioncontrol-mogelijkheden aan Windows toevoegt. TortoiseHg werkt van binnen met het Mercurial-systeem, een systeem dat niet alleen heel sterk is in version control op je eigen machine, maar dat ook mogelijkheden heeft om wijzigingen van anderen makkelijk toe te voegen. Als je geen Word gebruikt maar tekst-bestandjes zoals je dat doet met Markdown kan Mercurial je niet alleen met bestandsversies helpen, maar ook met het samenwerken. Je kan namelijk met bijvoorbeeld BitBucket allemaal met dezelfde bestanden werken. Je schrijft eerst alles op je eigen computer en stuurt het dan naar de repository die je voor het werkstuk gemaakt hebt op BitBucket. De anderen kunnen jouw wijzigingen dan daarvan binnenhalen in hun eigen versie van Mercurial en netjes samen laten lopen met hun eigen tekst, en dat weer terugpushen enzovoorts, net zolang totdat het werkstuk klaar is. Dan hoef je alleen nog maar alles om te zetten naar de uiteindelijke vorm en klaar ben je.

Opmerkingen

Ik gebruik zelf meestal Linux, terwijl de meesten die samen moeten werken voor werkstukken etc Windows gebruiken. Alle genoemde oplossingen werken in zowel Linux als Windows, maar voor Linux zijn er een paar oplossingen beschikbaar die ikzelf liever gebruik. Ik gebruik voor version control bijvoorbeeld zelf Git, maar Mercurial werkt beter als je onder Windows werkt, en daarbij gebruik ik geen BitBucket maar GitHub. Verder nog een lijstje nuttige links, voor als je meer wilt leren:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment