Koddokumentation är en process genom vilken en programmerare dokumenterar kod. Det är en välkänd term bland ingenjörer. Om de inte gör detta leder det till dålig läsbarhet av koden och svårt underhåll för andra teammedlemmar.
Koddokumentation skiljer sig från projektdokumentation eftersom den främst syftar till hur systemet fungerar, men dessa två processer har något gemensamt – krav på att använda ett professionellt verktyg. I den här artikeln ger jag en översikt över några populära verktyg för att skapa koddokumentation.
LaTex
LaTeX är ett dokumentberedningssystem för högkvalitativ sättning. Det används oftast för medelstora till stora tekniska eller vetenskapliga dokument, men det kan användas för nästan alla former av publicering.
LaTeX är inte ett ordbehandlingsprogram! Istället uppmuntrar LaTeX författarna att inte oroa sig för mycket för utseendet på sina dokument utan att koncentrera sig på att få fram rätt innehåll.
LaTeX är ett högkvalitativt sättningssystem; det innehåller funktioner som är utformade för produktion av teknisk och vetenskaplig dokumentation. LaTeX är de facto standard för kommunikation och publicering av vetenskapliga dokument. LaTeX finns som fri programvara.
Du behöver inte betala för att använda LaTeX, dvs, Det finns inga licensavgifter etc.
Pandoc
Pandoc förstår ett antal användbara markdown-syntaxutvidgningar, inklusive dokumentmetadata (titel, författare, datum), fotnoter, tabeller, definitionslistor, superskript och subscript, överstrykning, förbättrade ordnade listor (startnummer och numreringsstil är betydelsefulla), listor med löpande exempel, avgränsade kodblock med syntaxhöjande färgning, smarta citationstecken, streck och ellipser, markdown i HTML-block och inline LaTeX. Om strikt markdown-kompatibilitet önskas kan alla dessa tillägg stängas av.
Det finns många sätt att anpassa Pandoc till dina behov, inklusive ett mallsystem och ett kraftfullt system för att skriva filter.
Pandoc innehåller ett Haskell-bibliotek och ett fristående kommandoradsprogram. Biblioteket innehåller separata moduler för varje inmatnings- och utdataformat, så för att lägga till ett nytt inmatnings- eller utdataformat behöver man bara lägga till en ny modul.
Pandoc är en fri programvara som släpps under GPL.
Markdown
Markdown är ett konverteringsverktyg för text-till-HTML-konvertering för webbutgivare. Markdown gör det möjligt att skriva i ett lättläst och lättskrivet ren textformat och sedan konvertera det till strukturellt giltigt XHTML (eller HTML).
Det överordnade designmålet för Markdowns formateringssyntax är att göra det så lättläst som möjligt. Tanken är att ett Markdown-formaterat dokument ska kunna publiceras som det är, som vanlig text, utan att det ser ut som om det har märkts upp med taggar eller formateringsinstruktioner. Markdowns syntax har påverkats av flera befintliga text-till-HTML-filter, men den enskilt största inspirationskällan till Markdowns syntax är formatet för e-post i vanlig text.
LiveEdu
LiveEdu gör det möjligt för dig att sända ut din koddokumentation och skapa ”videokoddokumentation”.
Education Ecosystem är ett decentraliserat inlärningsekosystem som lär yrkesverksamma och högskolestudenter hur man bygger riktiga produkter. Man kan beskriva vår produkt som en hybrid av Pluralsight och Twitch. Vi bygger världens största lärande ekosystem för framtida teknikämnen som artificiell intelligens, cybersäkerhet, spelutveckling, datavetenskap, kryptovalutor och programmering. Education Ecosystem är videobaserat och varje projekt innehåller videor, en strukturerad projektöversikt, projektrepo och nedladdningsbara resurser. Användare kan klona projektresurser från Education Ecosystem Git och köra programmen på sin lokala maskin.
Sphinx
Sphinx är ett verktyg som gör det enkelt att skapa intelligent och vacker dokumentation, skrivet av Georg Brandl och licensierat under BSD-licensen.
Det skapades ursprungligen för Python-dokumentation och har utmärkta möjligheter för dokumentation av programvaruprojekt i en rad olika språk. Här är några funktioner:
- Utdataformat: HTML (inklusive Windows HTML Help), LaTeX (för utskrivbara PDF-versioner), ePub, Texinfo, manualsidor, vanlig text.
- Omfattande korshänvisningar: semantisk markering och automatiska länkar för funktioner, klasser, citat, ordlistatermer och liknande information.
- Hierarkisk struktur: enkel definition av ett dokumentträd, med automatiska länkar till syskon, föräldrar och barn.