TypeScript:
Refaktorering
Hvordan:
Tenk på en TypeScript-funksjon som har sett bedre dager - den er litt rotete, og kunne trenge litt kjærlig omsorg:
function userInfo(data: any): string {
return "User Info: " + data.name + ", " + data.age + ", " + data.email + ";" ;
}
Refaktorert, kan dette se slik ut:
interface User {
name: string;
age: number;
email: string;
}
function formatUserInfo(user: User): string {
return `User Info: ${user.name}, ${user.age}, ${user.email};`;
}
Det andre eksemplet er mer robust, og utnytter TypeScript sitt typesystem med et interface
for å unngå potensielle kjøretidsfeil og forbedre lesbarheten.
Dypdykk
Refaktorering er ikke et moderne konsept; det har utviklet seg med programmering og ble mer formalisert med utgivelsen av Martin Fowlers bok “Refaktorering: Forbedring av designet på eksisterende kode” i 1999. Det er avgjørende i et Agile utviklingsmiljø, og legger til rette for adaptive kodeendringer. Noen alternativer til manuell refaktorering inkluderer automatiserte verktøy som TSLint eller TypeScript sin egen språkserver som kan foreslå eller til og med utføre visse refaktoreringsoppgaver for deg. Gjennomføringsdetaljer involverer vanligvis å gjenkjenne “kode dårlig lukt”, som duplisert kode, lange metoder eller store klasser, og anvende mønstre for å avhjelpe - som å trekke ut metoder, flytte til mer passende klasser, eller bruke enklere konstruksjoner. Disse mønstrene er nøkkelen til å forstå hvordan og hvorfor av refaktorering.