Refactoren

Refactoren (Engels: refactoring) is het herstructureren van de broncode van een computerprogramma met als doel de leesbaarheid en onderhoudbaarheid te verbeteren of het stuk code te vereenvoudigen. Het refactoren van broncode verandert de werking van de software niet: elke refactorstap is een kleine, ongedaan te maken stap die de leesbaarheid verhoogt zonder de werking aan te passen. Het wordt met name gebruikt bij extreme programming, een vorm van agile-softwareontwikkeling.

Software refactoring

Refactoren wordt met name gedaan in objectgeoriënteerde programmeertalen als C++, Java en C#. Voorbeelden van refactoren zijn:

  • hernoemen van methods, variabelen en klassen
  • constructors vervangen door factory methods
  • omzetten van classes met alleen static methods in een singleton
  • generaliseren van (delen) van klassen naar een basis-type
  • inkapselen van publieke variabelen door functies (data-hiding)

Moderne IDE's zoals NetBeans en Eclipse JDT en een tiental anderen ondersteunen refactoren, zodat de refactoring altijd compleet wordt uitgevoerd. Hierbij is het van belang dat ook het bijbehorende commentaar bijgewerkt wordt.

Hardware refactoring

De term "refactoring" werd vroeger enkel gebruikt voor software, maar in de afgelopen jaren werd ook programmacode in hardwarebeschrijvingstalen (HDL's) gerefactord. De term hardware refactoring wordt gebruikt als een handige afkorting voor refactoren van code in hardwarebeschrijvingstalen. Aangezien HDLs door de meeste elektrotechnisch ingenieurs niet als een programmeertaal beschouwd worden, kan men hardware refactoring zien als een aparte techniek ten opzichte van traditionele code refactoring.

Zeng en Huss introduceerden het automatisch refactoren van analoge hardwarebeschrijvingen in de VHDL-AMS taal. In hun aanpak behoudt een refactoring het gesimuleerde gedrag van het hardwareontwerp. De niet-functionele verbetering is dat de nieuwe code verder verwerkt kan worden door standaard synthese-tools, terwijl dit met de originele code niet mogelijk was. Een hooggeplaatste ingenieur van het technologiebedrijf Synopys, Mike Keating, heeft onderzoek gedaan naar het refactoren van digitale HDL code. Het is zijn doelstelling om complexe systemen zo te maken dat ze gemakkelijker begrepen kunnen worden, waardoor de productiviteit van de ingenieurs kan verbeteren.

Er zijn tools op de markt voor hardware-refactorings.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.