Att hålla reda på beroenden mellan olika enheter med programkod, se faktaruta, platsar garanterat på topp-5 över jobbiga grejer som utvecklare måste stå ut med. I vissa situationer toppar aktiviteten den listan.

Att någon ändrar i ett projekt kan göra att projekt av som är beroende av det slutar fungerar, eller i alla fall krånglar. Lägg till det säkerhetsproblem, att sårbarheter i ett projekt gör sig gällande även i projekt som är beroende av det.

Nu rycker Github ut med hjälp för att bemästra sådana här problem. Det gör man med en funktion som heter Dependency graph. Det fungerar åt båda hållen. Det går både att se vilka projekt ett projekt är beroende av och vilka andra projekt som är beroende av ett projekt.

För närvarande fungerar Dependency graph med Javascript- och Ruby-kod. Stöd för Python ska komma senare. Funktionen finns tillgänglig för både publika och privata projekt på Github.com. Den ska göras tillgänglig för betalversionen Github Enterprise i början av nästa år.

Läs också: Bott twittrar svordomar från Github

För närvarande baseras Dependency graph på information om konfigurationer som finns i pakethanterare. Planen är att den så småningom ska fungera även utan sådan information.

I idealfallet har utvecklare koll på den här typen av beroenden även utan ett verktyg som Dependency graph. Men om ett projekt blir komplext är det lätt hänt att missa beroenden och det är garanterat väldigt tidskrävande att hålla reda på alla beroenden själv.

Github

En verkligt stor utmaning är att hålla reda på beroende till beroenden, och så vidare. I tider då många projekt är beroende av andra, allmänt tillgängliga, projekt som utvecklarna inte har kontroll över kan det bli ett reellt problem. Kanske kan någon smart person, eventuellt på Github, skapa en lösning som kartlägger beroenden i flera led?

En annan möjlig användning av Dependency graph är att använda det som ett verktyg för att minska och förenkla de beroenden som finns för ett projekt.

Läs också: 9 trender som styr utveckling i höst

Bland andra nya funktioner i Github märks Security alerts. Den funktionen går ut på att matcha beroenden med information om kända sårbarheter och att larma om sådana kopplingar upptäcks.

Fakta

Det finns många olika typer av enheter med programkod. Benämningar som projekt, repo, moduler, filer, metoder, funktioner, med flera, används. En definition är att det handlar om en samling programkod som kan fungera eller hanteras självständigt.