Paketutvecklingsprocess
En utvecklingsprocess för mjukvarupaket är ett system för att utveckla mjukvarupaket . Paketen gör det lättare att återanvända och dela kod, t.ex. via ett programvarulager . Ett formellt system för paketkontroll kan hjälpa till att avslöja buggar, vilket potentiellt gör det lättare att producera pålitlig programvara ( Chambers huvuddirektiv) . Detta kan i sin tur bidra till att förbättra produktiviteten för människor som producerar och använder programvara, som en del av en mjukvaruutvecklingsprocess eller mjukvaruutvecklingsmetodik .
Diskussion
I det här sammanhanget är ett paket en samling funktioner skrivna för användning på ett enda språk som Python eller R , tillsammans med dokumentation. För många programmeringsspråk finns det programvarulager där människor delar sådana paket.
Till exempel kombinerar ett Python- paket dokumentation, kod och initial inställning och eventuellt exempel som skulle kunna användas som enhetstester i en enda fil med tillägget "py".
Däremot har ett R- paket dokumentation med exempel i filer separata från koden, eventuellt buntade med annat material som exempeldataset och inledande vinjetter. Källkoden för ett R-paket finns i en katalog med en huvudfil för "beskrivning" och separata underkataloger för dokumentation, kod, valfria datamängder för enhets- eller regressionstestning och kanske andra. En formell paketkompileringsprocess kontrollerar fel av olika slag. Detta inkluderar att kontrollera efter syntaxfel på både dokumentationens uppmärkningsspråk och koden samt att jämföra argumenten mellan dokumentation och kod. Exempel i dokumentationen testas och ger felmeddelanden om de misslyckas. Detta kan användas som en primitiv form av enhetstestning ; mer formella enhetstester och regressionstestning kan ingå. Detta kan förbättra produktiviteten för mjukvaruutveckling genom att göra det lättare att hitta buggar när koden utvecklas. Dessutom gör dokumentationen det enklare att dela kod med andra. Det gör det också lättare för en utvecklare att använda kod skriven månader eller till och med år tidigare. Rutinkontroller görs av paket som bidragit till Comprehensive R Archive Network (CRAN) och under utveckling på den kompletterande webbplatsen för samarbetsutveckling med öppen källkod, R-Forge. Dessa kontroller kompilerar paketen upprepade gånger på olika plattformar under olika versioner av kärnspråket R. Resultaten görs tillgängliga för paketunderhållare. På detta sätt blir paketbidragsgivare medvetna om problem som de annars aldrig skulle kunna stöta på själva, eftersom de annars inte skulle ha lätt tillgång till dessa alternativa testresultat.
En intressant forskningsfråga skulle vara att jämföra kvaliteten på bidrag till olika programvaruförråd och försöka relatera det till funktioner i språket och den medföljande paketutvecklingsprocessen. Detta kan inkludera att försöka jämföra tillväxttakten för tillförd programvara med graden av formalitet och upprätthållande av standarder för dokumentation, testning och kodning.
Se även
- Pakethanteringssystem för att kombinera mjukvarupaket på olika språk till ett operativsystem.
- Programvarulager för samlingar av paket att dela.
- Mjukvaruutvecklingsprocess eller Mjukvaruutvecklingsmetodik för en mer allmän diskussion om mjukvaruutveckling.