Kode Kata'er

Dave Thomas skriver på sin blog om "Code Katas". Dave fik ideen til små tidsafgrænsede softwarelæringer da han var med sin søn til karate, og ikke kunne stå på sin sædvanlige plads i "parents viewing area". Han fandt istedet en anden siddeplads og begyndte at lege rundt i sit udviklingsmiljø for at afprøve nye ideer. I dit liv har du sikkert hele tiden travlt med at følge med på de konkrete opgaver, måske er det svært at få presset ekstra læring ind så det både er sjovt og uden den ... [More]

Unit Testing 101

Følgende indlæg kan selvfølgelig på ingen måde siges at være dækkende for emnet "unit testing", men læs det som en hurtig introduktion til hvorfor unit testing er relevant, best practices og hvorfor unit testing ikke må blive en religion forbeholdt de udvalgte. Motivation  Du har sikkert skulle teste koden du afleverer i din afdeling. Om ikke andet så fordi det er træls at få koden tilbage i hovedet med besked om at rette fejlene og ikke vende tilbage "før alle fejl er rettet". Men måske også fo... [More]

Dependency Inversion Principle

Dependency Inversion Principle (DIP) er det af de fem S.O.L.I.D. principper, hvis forståelse og efterlevelse har den største betydning for den overordnede arkitektur. DIP kan anvendes som en simpel mekanisme, som i dependency injection (DI), men kan også anvendes som et design princip, der tjener til at adskille arkitekturlag på en måde, der vil ændre på din forståelse af, hvorledes softwarekomponenter kan spille sammen på kryds og tværs. Bemærk altså, at DIP ikke er ækvivalent med DI (hvilket er en almindelig misf... [More]

Interface Segregation Principle

Som et af de fem S.O.L.I.D. design-principper hjælper Interface Segregation Principle (ISP) med til at forhindre udbredelsen af spaghetti-kode som med tiden enten stivner eller rådner væk. ISP siger: Brugere af en klasse skal ikke tvinges til at afhænge af metoder de ikke har brug for Problem Antag at du har udviklet en RandomNumberGenerator klasse du er ret tilfreds med. Klassen tjener sit formål og kan gentagne gange præsentere en "tilfældig" række af de samme tal. Men, du indser at kravene til generatoren ændrer sig således at ... [More]