Jesper Wermuth: Din dokumentation kan verificere dit design programmatisk

Se video

Oplægget er optaget til Holistic SDLC Forum hos NETS den 12/01-2022.

Abstract:

Denne talk kommer med et bud på et ekstra værktøj i din dokumentations-værktøjskasse. Der gennemgås nogle af de metoder vi indenfor software har anvendt de sidste 3 årtier, og de problemer de adresserer, og derudover vises der en case, hvor en alternativ metode anvendes.

En vigtig pointe i den anvendte case er, at man kan forholdsvis simpelt kan skrive en parser der genererer dokumentation således at parseren forstår de navnekonventioner og andre regler der udgør den del af kode/system/applikations-logikken der IKKE bliver fanget af de involverede sprogs egne parsere.

Det betyder at dokumentationen vil være baseret på semantiske regler der går UD OVER de semantiske og syntaktiske regler der er fastlagt i selve sproget (f.eks. Java eller .NET). Når man har gjort dette, kan man opnå (mindst) 3 ting:

  1. man kan lave tæt koblet dokumentation, hvilket sikrer at kode/system/applikation ikke afviger fra dokumentationen. At dokumentation med tid kommer til at afgive fra dokumentationen er en af de problemer vi ofte ser med at have relevant dokumentation.
  2. man har en dokumentationsgenerator der forstår de navnekonventioner og andre konstruktioner der udgør den del af kode/system/applikations-logikken der IKKE bliver fanget af den/de parsere der validerer koden.
  3. man har reelt skrevet en parser der kan fange logiske fejl i kode/applikations/systemet på højere og niveau, der er specialiseret til lige præcis DIT program, dvs. udvidet scopet for hvad normale parsere kan hjælpe dig med, ift. programmets korrekthed. Det blev lidt langt, men der er også mange gode pointer og diskussioner der venter.

Kontakt os for at høre mere.

Jesper Wermuth

CEO | Partner

Solid erfaring som programmør, arkitekt, underviser og rådgiver. Specialiseret i automatisering af infrastruktur, virtualisering og en lang række cloud funderede teknologier. Jesper er ekspert i Docker og cloud-teknologi og har over 25 års erfaring som softwareudvikler. Han har arbejdet med stort set alle områder af IT virksomheder, fra ledelse til kabling. Han har særligt fokuseret på kvalitet i leverancer gennem automatisering, reproducerbarhed, virtualisering og skalering de seneste år.