{"id":3016,"date":"2020-06-24T08:53:38","date_gmt":"2020-06-24T08:53:38","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/a-quick-primer-on-refactoring-for-beginners\/"},"modified":"2026-04-24T11:30:09","modified_gmt":"2026-04-24T11:30:09","slug":"een-snelle-inleiding-op-refactoring-voor-beginners","status":"publish","type":"post","link":"https:\/\/thecodest.co\/nl\/blog\/a-quick-primer-on-refactoring-for-beginners\/","title":{"rendered":"Een snelle inleiding op refactoring voor beginners"},"content":{"rendered":"<p>Daarom is het voor sommigen onbegrijpelijk dat <strong>refactoring<\/strong> is eigenlijk een gebied van programmeren, en het is ook een zeer belangrijk onderdeel van het werk van de programmeur. De code is altijd in ontwikkeling, hij wordt aangepast zolang de mogelijkheid bestaat om nieuwe functionaliteiten toe te voegen. De code kan echter een vorm aannemen waarbij het niet langer mogelijk is om effectief nieuwe functionaliteiten toe te voegen en het eenvoudiger zou zijn om het hele programma te herschrijven.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wat is refactoring?<\/h2>\n\n\n\n<p>Meestal is het antwoord dat je hoort dat het de structuur van de code verandert door een reeks refactoring transformaties toe te passen zonder het waarneembare gedrag van de code te be\u00efnvloeden. Dit is waar. Onlangs kwam ik ook een definitie tegen van <b>Martin Fowler<\/b> in zijn boek <b>\"Het ontwerp van bestaande code verbeteren\".<\/b> waar hij beschrijft <strong>refactoring<\/strong> als \"grote veranderingen maken in kleine stappen\". Hij beschrijft <strong>refactoring<\/strong> als een codewijziging die geen invloed heeft op de werking, maar hij benadrukt dat het in kleine stappen moet gebeuren.<\/p>\n\n\n\n<p>Het boek pleit er ook voor dat <strong>refactoring<\/strong> geen invloed heeft op de werking van de code en wijst erop dat het op geen enkel moment invloed heeft op het slagen voor de tests. Het beschrijft stap voor stap hoe je veilig <strong>refactoring<\/strong>. Ik vond zijn boek leuk omdat het eenvoudige trucs beschrijft die in het dagelijks werk kunnen worden gebruikt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Waarom hebben we refactoring nodig?<\/h2>\n\n\n\n<p>&nbsp;Meestal heb je het nodig wanneer je een nieuwe functionaliteit wilt introduceren en de code in de huidige versie dit niet toelaat of het moeilijker zou zijn zonder wijzigingen aan de code. Het is ook nuttig in gevallen waarin het toevoegen van meer functies tijdtechnisch niet rendabel is, dat wil zeggen, het zou sneller zijn om de code vanaf nul te herschrijven. Ik denk dat soms vergeten wordt dat <strong>refactoring<\/strong> kan de code schoner en leesbaarder maken. Martin schrijft in zijn boek hoe hij refactoring uitvoert als hij onaangename geuren in de code voelt en, hoe hij het zegt, <b>\"het laat altijd ruimte voor het betere\"<\/b>. En hij verraste me hier door refactoring te zien als een onderdeel van het dagelijkse codewerk. Voor mij zijn de codes vaak onbegrijpelijk, het lezen ervan is een beetje een ervaring omdat de code vaak onintu\u00eftief is.<\/p>\n\n\n\n<p>Het onderscheidende kenmerk van een goed ontworpen programma is zijn <b>modulariteit<\/b>waardoor het voldoende is om slechts een klein deel van de code te kennen om de meeste wijzigingen door te voeren. Modulariteit maakt het ook makkelijker voor nieuwe mensen om in te stappen en effici\u00ebnter aan de slag te gaan. Om deze modulariteit te bereiken, moeten verwante programma-elementen worden gegroepeerd, waarbij de verbindingen begrijpelijk en gemakkelijk te vinden zijn. Er is geen eenduidige vuistregel over hoe dit gedaan kan worden. Naarmate je meer en meer weet en begrijpt van hoe de code zou moeten werken, kun je de elementen groeperen, maar soms moet je ook testen en controleren.<\/p>\n\n\n\n<p>Een van de regels van refactoring in <b>YAGNI<\/b>Het is een acroniem voor 'You Aren't Gonna Need It' en komt van <b>eXtreme Programmeren (XP) <\/b>voornamelijk gebruikt in <strong><a href=\"https:\/\/thecodest.co\/nl\/blog\/how-to-implement-agile-methodology\/\">Agile<\/a> <a href=\"https:\/\/thecodest.co\/nl\/blog\/8-key-questions-to-ask-your-software-development-outsourcing-partner\/\">softwareontwikkeling<\/a> teams<\/strong>. Lang verhaal kort, <b>YAGNI<\/b> zegt dat alleen actuele dingen gedaan moeten worden. Dit betekent in feite dat zelfs als iets in de toekomst nodig zou kunnen zijn, het nu nog niet gedaan zou moeten worden.  Maar we kunnen ook verdere uitbreidingen niet verpletteren en dit is waar modulariteit belangrijk wordt.<\/p>\n\n\n\n<p>Als je het hebt over <strong>refactoring<\/strong>moet een van de meest essenti\u00eble elementen, namelijk testen, worden genoemd. In <strong>refactoring<\/strong>moeten we weten dat de code nog steeds werkt, omdat <strong>refactoring<\/strong> verandert niet hoe het werkt, maar de structuur, dus alle tests moeten worden doorstaan. Het is het beste om tests uit te voeren voor het deel van de code waar we aan werken na elke kleine transformatie. Het geeft <a href=\"https:\/\/thecodest.co\/nl\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> een bevestiging dat alles werkt zoals het hoort en het verkort de tijd van de hele operatie. Dit is waar Martin het over heeft in zijn boek - voer tests zo vaak mogelijk uit om niet een stap terug te doen en tijd te verspillen aan het zoeken naar een transformatie die iets kapot heeft gemaakt.<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/thecodest.co\/nl\/dictionary\/what-is-code-refactoring\/\">Code refactoring<\/a><\/strong> Zonder testen is het lastig en er is een grote kans dat er iets fout gaat. Als het mogelijk is, zou het het beste zijn om op zijn minst wat basistests toe te voegen die ons een beetje zekerheid geven dat de code werkt.<\/p>\n\n\n\n<p>De transformaties hieronder zijn slechts voorbeelden, maar ze zijn echt nuttig bij het dagelijkse programmeren:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Functie-extractie en variabele-extractie - als de functie te lang is, controleer dan of er kleine functies zijn die ge\u00ebxtraheerd kunnen worden. Hetzelfde geldt voor lange regels. Deze transformaties kunnen helpen bij het vinden van duplicaties in de code. Dankzij Small Functions wordt de code duidelijker en begrijpelijker,<\/li>\n\n\n\n<li>Hernoemen van functies en variabelen - het gebruik van de juiste naamgevingsconventie is essentieel voor goed programmeren. Goed gekozen namen van variabelen kunnen veel vertellen over de code,<\/li>\n\n\n\n<li>De functies groeperen in een klasse - deze wijziging is handig als twee klassen vergelijkbare bewerkingen uitvoeren, omdat het de lengte van de klasse kan verkorten,<\/li>\n\n\n\n<li>De geneste verklaring opheffen - als de voorwaarde klopt voor een speciaal geval, geef dan een retouropmerking wanneer de voorwaarde optreedt. Naar dit soort tests wordt vaak verwezen als de guard clause. Het vervangen van een geneste voorwaardelijke instructie door een afsluitende instructie verandert de nadruk in de code. De if-else constructie kent aan beide varianten evenveel gewicht toe. Voor de persoon die de code leest, is het een boodschap dat elk van beide even waarschijnlijk en belangrijk is,<\/li>\n\n\n\n<li>Een speciaal geval introduceren - als je sommige voorwaarden vaak in je code gebruikt, kan het de moeite waard zijn om er een aparte structuur voor te maken. Hierdoor kunnen de meeste controles van speciale gevallen worden vervangen door eenvoudige functie-aanroepen. Vaak is de algemene waarde die speciale verwerking vereist null. Daarom wordt dit patroon vaak het Nul Object genoemd. Deze aanpak kan echter in elk speciaal geval worden gebruikt,<\/li>\n\n\n\n<li>Vervanging van het voorwaardelijke instructiepolymorfisme.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Voorbeeld<\/h2>\n\n\n\n<p>Dit is een artikel over <strong>refactoring<\/strong> en er is een voorbeeld nodig. Ik wil hieronder een eenvoudig voorbeeld van refactoring laten zien met behulp van <b>De geneste verklaring overschrijven<\/b> en <b>Vervanging van het voorwaardelijke instructiepolymorfisme<\/b>. Laten we zeggen dat we een programmafunctie hebben die een <a href=\"https:\/\/thecodest.co\/nl\/blog\/hash-to-use-or-not-to-use\/\">hash<\/a> met informatie over hoe je planten in het echt water geeft. Dergelijke informatie zou waarschijnlijk in het model staan, maar voor dit voorbeeld hebben we het in de functie.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">def besproei_info(plant)\n     resultaat = {}\n     if plant.is_a? Suculent || plant.is_a? Cactus\n         resultaat = {water_hoeveelheid: \"Een klein beetje \" , how_to: \"Vanaf de bodem\", water geven_duur: \"2 weken\" }\n     elsif plant.is_a? Alocasia || plant.is_a? Maranta\n         result = {water_hoeveelheid: \"Grote hoeveelheid\", hoe_te: \"Zoals u wilt\", water geven_duur: \"5 dagen\" }\n     elsif plant.is_a? Peperomia\n         result = {water_hoeveelheid: \"Dicent hoeveelheid\",\n             how_to: \"Vanaf de onderkant! Ze houden niet van water op de bladeren\",\n             watergift_duur: \"1 week\" }\n     anders\n         resultaat = {water_hoeveelheid: \"Dicent amount\",\n             how_to: \"Zoals u verkiest\",\n             bewatering_duur: \"1 week\"\n             }\n     einde\n     resultaat retourneren\n einde\n<\/code><\/pre>\n\n\n\n<p>Het idee is om te veranderen als terug te keren:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">Als plant.isa? Suculent || plant.isa? Cactus\n\n     result = {waterhoeveelheid: \"Een beetje \" , howto: \"Vanaf de bodem\",\n<\/code><\/pre>\n\n\n\n<p>Naar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"><code>return {water_hoeveelheid: \"Een klein beetje \" , how_to: \"Vanaf de bodem\" , watering_duration: \"2 weken\" } if plant.is_a? Suculent || plant.is_a? Cactus<\/code><\/code><\/pre>\n\n\n\n<p>return {water<em>hoeveelheid: \"Een beetje\" , hoe<\/em>naar: \"Vanaf de bodem\",water geven<em>duur: \"2 weken\" } if plant.is<\/em>a? Suculent || plant.is_a? Cactus<\/p>\n\n\n\n<p>En zo verder tot we bij een functie komen die er als volgt uitziet:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">def besproei_info(plant)\n\nreturn result = {waterhoeveelheid: \"Een klein beetje \" , hoezo: \"Vanaf de bodem\", bewateringsduur: \"2 weken\" } if plant.isa? Suculent || plant.is_a? Cactus\n\nreturn result = {waterhoeveelheid: \"Grote hoeveelheid\", hoezo: \"Zoals u wilt\", watergeefduur: \"5 dagen\" } if plant.isa? Alocasia || plant.is_a? Maranta\n\nreturn result = {water_hoeveelheid: \"Dicent amount\",\n\n          howto: \"Vanaf de bodem! Ze houden niet van water op de bladeren\",\n          watergeefduur: \"1 week\" } if plant.is_a? Peperomia\n\nreturn result = {water_hoeveelheid: \"Dicent amount\",\n\n          how_to: \"Zoals u verkiest\",\n\n          bewatering_duur: \"1 week\".\n\n          }\n\neinde<\/code><\/pre>\n\n\n\n<p>\u00a0Helemaal aan het einde hadden we al een resultaat. En een goede gewoonte is om dit stap voor stap te doen en elke verandering te testen. Je zou dit if-blok kunnen vervangen door een switch-case en dan ziet het er meteen beter uit en hoef je niet elke keer alle ifs te controleren. Het zou er dan zo uitzien:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">def besproei_info(plant)\n\nswich plant.class.to_string\n\ngeval Suculent, Cactus\n\n     {waterhoeveelheid: \"Een beetje \" , hoezo: \"Vanaf de bodem\", water geven_duur: \"2 weken\" }\n\ngeval Alocasia, Maranta\n\n     {waterhoeveelheid: \"Grote hoeveelheid\", hoezo: \"Zoals u wilt\", water geven_duur: \"5 dagen\" }\n\ngeval Peperomia\n\n     {water_hoeveelheid: \"Dicent hoeveelheid\",\n\n          how_to: \"Vanaf de onderkant! Ze houden niet van water op de bladeren\",\n\n          watering_duration: \"1 week\" }\n\nanders\n\n     {water_bedrag: \"Dicent amount\",\n\n            how_to: \"Zoals u verkiest\",\n\n       bewatering_duur: \"1 week\" }\n\neinde\n\neinde<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p>En dan kun je de <b>Het voorwaardelijke instructiepolymorfisme vervangen<\/b>. Dit is om een klasse te maken met een functie die de juiste waarde teruggeeft en ze op de juiste plaats zet.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Klasse Suculent\n\n...\n\ndef watergift_info()\n\n     return {waterhoeveelheid: \"Een beetje \" , hoezo: \"Vanaf de bodem\", watering_duration: \"2 weken\" }\n\neinde\n\neinde\n\nklasse Cactus\n\n...\n\ndef bewatering_info()\n\n     return {waterhoeveelheid: \"Een klein beetje \" , howto: \"Vanaf de bodem\", watering_duration: \"2 weken\" }\n\neinde\n\neinde\n\nklasse Alocasia\n\n...\n\ndef besproeiing_info\n\n     return {wateramount: \"Grote hoeveelheid\", howto: \"Zoals u verkiest\", watering_duration: \"5 dagen\" }\n\neinde\n\neinde\n\nklasse Maranta\n\n...\n\ndef besproeiing_info\n\n     return {wateramount: \"Grote hoeveelheid\", howto: \"Zoals u verkiest\", watering_duration: \"5 dagen\" }\n\neinde\n\neinde\n\nklasse Peperomia\n\n...\n\ndef watergift_info\n\n     return {water_bedrag: \"Dicent amount\",\n\n      how_to: \"Vanaf de onderkant! Ze houden niet van water op de bladeren\",\n\n      watering_duration: \"1 week\" }\n\neinde\n\neinde\n\nKlasse Plant\n\n...\n\ndef besproeiing_info\n\n     return {water_bedrag: \"Dicent amount\",\n\n              how_to: \"Zoals u verkiest\",\n\n              bewatering_duur: \"1 week\" }\n\neinde\n\neinde<\/code><\/pre>\n\n\n\n<p>En in de hoofdwatering_infofunctie ziet de code er als volgt uit:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">def besproei_info(plant)\n\n    plant.map(&amp;:besproeiing_info)\n\neinde<\/code><\/pre>\n\n\n\n<p>Natuurlijk kan deze functie worden verwijderd en vervangen door zijn inhoud. Met dit voorbeeld wilde ik de algemene <strong>patroon van refactoring<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Samenvatting<\/h2>\n\n\n\n<p><strong>Refactoring<\/strong> is een groot onderwerp. Ik hoop dat dit artikel een stimulans was om meer te lezen. Deze <strong>vaardigheden in refactoring<\/strong> u helpen bugs te vinden en uw schone code-workshop te verbeteren. Ik raad aan om het boek van Martin te lezen (Improving the Design of Existing Code), dat een vrij basale en nuttige verzameling regels bevat van <strong>refactoring<\/strong>. De auteur toont verschillende transformaties stap voor stap met een volledige uitleg en motivatie en tips om fouten te vermijden in <strong>refactoring<\/strong>. Door zijn veelzijdigheid is het een heerlijk boek voor frontend en <strong>ontwikkelaars van backends<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/thecodest.co\/careers\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/ruby_developer_hiring.jpeg\" alt=\"Word Junior Ruby Ontwikkelaar\"\/><\/a><\/figure>\n\n\n\n<p><strong>Meer lezen<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/graphql-ruby-what-about-performance\">GraphQL Ruby. Hoe zit het met de prestaties?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-and-other-means-of-transport\">Rails en andere transportmiddelen<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\">Rails ontwikkelen met TMUX, Vim, Fzf + Ripgrep<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Misschien schrijf ik over iets dat voor velen duidelijk is, maar misschien niet voor iedereen. Refactoring is, denk ik, een ingewikkeld onderwerp omdat het gaat om het veranderen van de code zonder de werking ervan te be\u00efnvloeden.<\/p>","protected":false},"author":2,"featured_media":3017,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3016","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A Quick Primer on Refactoring for Beginners - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/nl\/blog\/een-snelle-inleiding-op-refactoring-voor-beginners\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Quick Primer on Refactoring for Beginners\" \/>\n<meta property=\"og:description\" content=\"Perhaps I am writing about something obvious to many, but maybe not to everyone. Refactoring is, I think, a complicated topic because it involves changing the code without affecting its operation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/nl\/blog\/een-snelle-inleiding-op-refactoring-voor-beginners\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-24T08:53:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:30:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"A Quick Primer on Refactoring for Beginners\",\"datePublished\":\"2020-06-24T08:53:38+00:00\",\"dateModified\":\"2026-04-24T11:30:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/\"},\"wordCount\":1338,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/regactor.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/\",\"name\":\"A Quick Primer on Refactoring for Beginners - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/regactor.png\",\"datePublished\":\"2020-06-24T08:53:38+00:00\",\"dateModified\":\"2026-04-24T11:30:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/regactor.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/regactor.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/a-quick-primer-on-refactoring-for-beginners\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Quick Primer on Refactoring for Beginners\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/nl\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Refactoring voor beginners - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/nl\/blog\/een-snelle-inleiding-op-refactoring-voor-beginners\/","og_locale":"nl_NL","og_type":"article","og_title":"A Quick Primer on Refactoring for Beginners","og_description":"Perhaps I am writing about something obvious to many, but maybe not to everyone. Refactoring is, I think, a complicated topic because it involves changing the code without affecting its operation.","og_url":"https:\/\/thecodest.co\/nl\/blog\/een-snelle-inleiding-op-refactoring-voor-beginners\/","og_site_name":"The Codest","article_published_time":"2020-06-24T08:53:38+00:00","article_modified_time":"2026-04-24T11:30:09+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"7 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"A Quick Primer on Refactoring for Beginners","datePublished":"2020-06-24T08:53:38+00:00","dateModified":"2026-04-24T11:30:09+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/"},"wordCount":1338,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png","articleSection":["Software Development"],"inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/","url":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/","name":"Refactoring voor beginners - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png","datePublished":"2020-06-24T08:53:38+00:00","dateModified":"2026-04-24T11:30:09+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/regactor.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/a-quick-primer-on-refactoring-for-beginners\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"A Quick Primer on Refactoring for Beginners"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/nl\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/posts\/3016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/comments?post=3016"}],"version-history":[{"count":12,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/posts\/3016\/revisions"}],"predecessor-version":[{"id":7707,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/posts\/3016\/revisions\/7707"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/media\/3017"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/media?parent=3016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/categories?post=3016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/nl\/wp-json\/wp\/v2\/tags?post=3016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}