CINXE.COM

Réusinage de code — Wikipédia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="fr" dir="ltr"> <head> <meta charset="UTF-8"> <title>Réusinage de code — Wikipédia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )frwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t."," \t,"],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"wgRequestId":"b8a105ec-b3c9-4612-baf6-afd3097c4c92","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Réusinage_de_code","wgTitle":"Réusinage de code","wgCurRevisionId":219074755,"wgRevisionId":219074755,"wgArticleId":2548,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Article manquant de références depuis juin 2019","Article manquant de références/Liste complète","Article à référence nécessaire","Portail:Informatique/Articles liés","Portail:Technologies/Articles liés","Portail:Programmation informatique/Articles liés","Programmation informatique","Génie logiciel","Méthode agile"],"wgPageViewLanguage":"fr","wgPageContentLanguage":"fr","wgPageContentModel":"wikitext","wgRelevantPageName": "Réusinage_de_code","wgRelevantArticleId":2548,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"fr","pageLanguageDir":"ltr","pageVariantFallbacks":"fr"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":7000,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q116877","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true, "wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ArchiveLinks","ext.gadget.Wdsearch","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader", "ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=fr&amp;modules=ext.cite.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=fr&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=fr&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Réusinage de code — Wikipédia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//fr.m.wikipedia.org/wiki/R%C3%A9usinage_de_code"> <link rel="alternate" type="application/x-wiki" title="Modifier" href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipédia (fr)"> <link rel="EditURI" type="application/rsd+xml" href="//fr.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://fr.wikipedia.org/wiki/R%C3%A9usinage_de_code"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr"> <link rel="alternate" type="application/atom+xml" title="Flux Atom de Wikipédia" href="/w/index.php?title=Sp%C3%A9cial:Modifications_r%C3%A9centes&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Réusinage_de_code rootpage-Réusinage_de_code skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Aller au contenu</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Menu principal" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Menu principal</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Menu principal</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">masquer</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_principal" title="Accueil général [z]" accesskey="z"><span>Accueil</span></a></li><li id="n-thema" class="mw-list-item"><a href="/wiki/Portail:Accueil"><span>Portails thématiques</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Page_au_hasard" title="Affiche un article au hasard [x]" accesskey="x"><span>Article au hasard</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Contact"><span>Contact</span></a></li> </ul> </div> </div> <div id="p-Contribuer" class="vector-menu mw-portlet mw-portlet-Contribuer" > <div class="vector-menu-heading"> Contribuer </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-aboutwp" class="mw-list-item"><a href="/wiki/Aide:D%C3%A9buter"><span>Débuter sur Wikipédia</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Aide:Accueil" title="Accès à l’aide"><span>Aide</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikip%C3%A9dia:Accueil_de_la_communaut%C3%A9" title="À propos du projet, ce que vous pouvez faire, où trouver les informations"><span>Communauté</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Modifications_r%C3%A9centes" title="Liste des modifications récentes sur le wiki [r]" accesskey="r"><span>Modifications récentes</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Wikip%C3%A9dia:Accueil_principal" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipédia" src="/static/images/mobile/copyright/wikipedia-wordmark-fr.svg" style="width: 7.4375em; height: 1.125em;"> <img class="mw-logo-tagline" alt="l&#039;encyclopédie libre" src="/static/images/mobile/copyright/wikipedia-tagline-fr.svg" width="120" height="13" style="width: 7.5em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Sp%C3%A9cial:Recherche" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Rechercher sur Wikipédia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Rechercher</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Rechercher sur Wikipédia" aria-label="Rechercher sur Wikipédia" autocapitalize="sentences" title="Rechercher sur Wikipédia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Spécial:Recherche"> </div> <button class="cdx-button cdx-search-input__end-button">Rechercher</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Outils personnels"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Modifier l&#039;apparence de la taille, de la largeur et de la couleur de la police de la page" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Apparence" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Apparence</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_fr.wikipedia.org&amp;uselang=fr" class=""><span>Faire un don</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&amp;returnto=R%C3%A9usinage+de+code" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire." class=""><span>Créer un compte</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Sp%C3%A9cial:Connexion&amp;returnto=R%C3%A9usinage+de+code" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o" class=""><span>Se connecter</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Plus d’options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Outils personnels" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Outils personnels</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Menu utilisateur" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_fr.wikipedia.org&amp;uselang=fr"><span>Faire un don</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Cr%C3%A9er_un_compte&amp;returnto=R%C3%A9usinage+de+code" title="Nous vous encourageons à créer un compte utilisateur et vous connecter ; ce n’est cependant pas obligatoire."><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Créer un compte</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Connexion&amp;returnto=R%C3%A9usinage+de+code" title="Nous vous encourageons à vous connecter ; ce n’est cependant pas obligatoire. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Se connecter</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages pour les contributeurs déconnectés <a href="/wiki/Aide:Premiers_pas" aria-label="En savoir plus sur la contribution"><span>en savoir plus</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_contributions" title="Une liste des modifications effectuées depuis cette adresse IP [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Mes_discussions" title="La page de discussion pour les contributions depuis cette adresse IP [n]" accesskey="n"><span>Discussion</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Sommaire" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Sommaire</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">masquer</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Début</div> </a> </li> <li id="toc-Justification" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Justification"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Justification</span> </div> </a> <ul id="toc-Justification-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Niveaux_de_réusinage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Niveaux_de_réusinage"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Niveaux de réusinage</span> </div> </a> <button aria-controls="toc-Niveaux_de_réusinage-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Niveaux de réusinage</span> </button> <ul id="toc-Niveaux_de_réusinage-sublist" class="vector-toc-list"> <li id="toc-Modification_de_la_présentation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Modification_de_la_présentation"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Modification de la présentation</span> </div> </a> <ul id="toc-Modification_de_la_présentation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Modification_de_l&#039;algorithmique" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Modification_de_l&#039;algorithmique"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Modification de l'algorithmique</span> </div> </a> <ul id="toc-Modification_de_l&#039;algorithmique-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Relocalisation_de_procédures" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Relocalisation_de_procédures"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Relocalisation de procédures</span> </div> </a> <ul id="toc-Relocalisation_de_procédures-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Refonte_de_la_conception" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Refonte_de_la_conception"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>Refonte de la conception</span> </div> </a> <ul id="toc-Refonte_de_la_conception-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Activités_de_réusinage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Activités_de_réusinage"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Activités de réusinage</span> </div> </a> <button aria-controls="toc-Activités_de_réusinage-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Activités de réusinage</span> </button> <ul id="toc-Activités_de_réusinage-sublist" class="vector-toc-list"> <li id="toc-Suppression_du_code_mort" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Suppression_du_code_mort"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Suppression du code mort</span> </div> </a> <ul id="toc-Suppression_du_code_mort-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Ajout_d&#039;assertions" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Ajout_d&#039;assertions"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Ajout d'assertions</span> </div> </a> <ul id="toc-Ajout_d&#039;assertions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Renommage" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Renommage"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.3</span> <span>Renommage</span> </div> </a> <ul id="toc-Renommage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Commentaires" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Commentaires"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.4</span> <span>Commentaires</span> </div> </a> <ul id="toc-Commentaires-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Notes_et_références" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes_et_références"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Notes et références</span> </div> </a> <ul id="toc-Notes_et_références-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Voir_aussi" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Voir_aussi"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Voir aussi</span> </div> </a> <button aria-controls="toc-Voir_aussi-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Afficher / masquer la sous-section Voir aussi</span> </button> <ul id="toc-Voir_aussi-sublist" class="vector-toc-list"> <li id="toc-Bibliographie" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Bibliographie"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>Bibliographie</span> </div> </a> <ul id="toc-Bibliographie-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Sommaire" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Basculer la table des matières" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Basculer la table des matières</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Réusinage de code</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Aller à un article dans une autre langue. Disponible en 34 langues." > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-34" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">34 langues</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A5%D8%B9%D8%A7%D8%AF%D8%A9_%D9%87%D9%8A%D9%83%D9%84%D8%A9_%D8%A7%D9%84%D9%83%D9%88%D8%AF" title="إعادة هيكلة الكود – arabe" lang="ar" hreflang="ar" data-title="إعادة هيكلة الكود" data-language-autonym="العربية" data-language-local-name="arabe" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%A0%D1%8D%D1%84%D0%B0%D0%BA%D1%82%D0%B0%D1%80%D1%8B%D0%BD%D0%B3" title="Рэфактарынг – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Рэфактарынг" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%BD%D0%B0_%D0%BA%D0%BE%D0%B4" title="Преработка на код – bulgare" lang="bg" hreflang="bg" data-title="Преработка на код" data-language-autonym="Български" data-language-local-name="bulgare" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Refacci%C3%B3" title="Refacció – catalan" lang="ca" hreflang="ca" data-title="Refacció" data-language-autonym="Català" data-language-local-name="catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Refaktorov%C3%A1n%C3%AD" title="Refaktorování – tchèque" lang="cs" hreflang="cs" data-title="Refaktorování" data-language-autonym="Čeština" data-language-local-name="tchèque" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Refactoring" title="Refactoring – danois" lang="da" hreflang="da" data-title="Refactoring" data-language-autonym="Dansk" data-language-local-name="danois" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Refactoring" title="Refactoring – allemand" lang="de" hreflang="de" data-title="Refactoring" data-language-autonym="Deutsch" data-language-local-name="allemand" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Code_refactoring" title="Code refactoring – anglais" lang="en" hreflang="en" data-title="Code refactoring" data-language-autonym="English" data-language-local-name="anglais" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Refactorizaci%C3%B3n" title="Refactorización – espagnol" lang="es" hreflang="es" data-title="Refactorización" data-language-autonym="Español" data-language-local-name="espagnol" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Koodi_refaktoreerimine" title="Koodi refaktoreerimine – estonien" lang="et" hreflang="et" data-title="Koodi refaktoreerimine" data-language-autonym="Eesti" data-language-local-name="estonien" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%A8%D8%A7%D8%B2%D8%B3%D8%A7%D8%AE%D8%AA_%DA%A9%D8%AF" title="بازساخت کد – persan" lang="fa" hreflang="fa" data-title="بازساخت کد" data-language-autonym="فارسی" data-language-local-name="persan" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Refaktorointi" title="Refaktorointi – finnois" lang="fi" hreflang="fi" data-title="Refaktorointi" data-language-autonym="Suomi" data-language-local-name="finnois" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Refactorizaci%C3%B3n" title="Refactorización – galicien" lang="gl" hreflang="gl" data-title="Refactorización" data-language-autonym="Galego" data-language-local-name="galicien" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/Refactoring" title="Refactoring – hébreu" lang="he" hreflang="he" data-title="Refactoring" data-language-autonym="עברית" data-language-local-name="hébreu" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Refaktoriranje_koda" title="Refaktoriranje koda – croate" lang="hr" hreflang="hr" data-title="Refaktoriranje koda" data-language-autonym="Hrvatski" data-language-local-name="croate" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/K%C3%B3drefaktor%C3%A1l%C3%A1s" title="Kódrefaktorálás – hongrois" lang="hu" hreflang="hu" data-title="Kódrefaktorálás" data-language-autonym="Magyar" data-language-local-name="hongrois" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Refaktorisasi_kode" title="Refaktorisasi kode – indonésien" lang="id" hreflang="id" data-title="Refaktorisasi kode" data-language-autonym="Bahasa Indonesia" data-language-local-name="indonésien" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Refactoring" title="Refactoring – italien" lang="it" hreflang="it" data-title="Refactoring" data-language-autonym="Italiano" data-language-local-name="italien" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)" title="リファクタリング (プログラミング) – japonais" lang="ja" hreflang="ja" data-title="リファクタリング (プログラミング)" data-language-autonym="日本語" data-language-local-name="japonais" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%A6%AC%ED%8C%A9%ED%84%B0%EB%A7%81" title="리팩터링 – coréen" lang="ko" hreflang="ko" data-title="리팩터링" data-language-autonym="한국어" data-language-local-name="coréen" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Pertvarkymas_(programavimas)" title="Pertvarkymas (programavimas) – lituanien" lang="lt" hreflang="lt" data-title="Pertvarkymas (programavimas)" data-language-autonym="Lietuvių" data-language-local-name="lituanien" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4%D1%8B%D0%B3_%D0%B4%D0%B0%D1%85%D0%B8%D0%BD_%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BB%D0%BE%D1%85" title="Кодыг дахин факторлох – mongol" lang="mn" hreflang="mn" data-title="Кодыг дахин факторлох" data-language-autonym="Монгол" data-language-local-name="mongol" class="interlanguage-link-target"><span>Монгол</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Refactoren" title="Refactoren – néerlandais" lang="nl" hreflang="nl" data-title="Refactoren" data-language-autonym="Nederlands" data-language-local-name="néerlandais" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Refaktorering" title="Refaktorering – norvégien bokmål" lang="nb" hreflang="nb" data-title="Refaktorering" data-language-autonym="Norsk bokmål" data-language-local-name="norvégien bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Refaktoryzacja" title="Refaktoryzacja – polonais" lang="pl" hreflang="pl" data-title="Refaktoryzacja" data-language-autonym="Polski" data-language-local-name="polonais" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o" title="Refatoração – portugais" lang="pt" hreflang="pt" data-title="Refatoração" data-language-autonym="Português" data-language-local-name="portugais" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Refactorizare_de_cod" title="Refactorizare de cod – roumain" lang="ro" hreflang="ro" data-title="Refactorizare de cod" data-language-autonym="Română" data-language-local-name="roumain" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3" title="Рефакторинг – russe" lang="ru" hreflang="ru" data-title="Рефакторинг" data-language-autonym="Русский" data-language-local-name="russe" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%81%D0%B0%D1%9A%D0%B5_%D0%BA%D0%BE%D0%B4%D0%B0" title="Рефакторисање кода – serbe" lang="sr" hreflang="sr" data-title="Рефакторисање кода" data-language-autonym="Српски / srpski" data-language-local-name="serbe" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Omstrukturering_av_kod" title="Omstrukturering av kod – suédois" lang="sv" hreflang="sv" data-title="Omstrukturering av kod" data-language-autonym="Svenska" data-language-local-name="suédois" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A0%D0%B5%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3" title="Рефакторинг – ukrainien" lang="uk" hreflang="uk" data-title="Рефакторинг" data-language-autonym="Українська" data-language-local-name="ukrainien" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/C%E1%BA%A3i_ti%E1%BA%BFn_m%C3%A3_ngu%E1%BB%93n" title="Cải tiến mã nguồn – vietnamien" lang="vi" hreflang="vi" data-title="Cải tiến mã nguồn" data-language-autonym="Tiếng Việt" data-language-local-name="vietnamien" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E4%BB%A3%E7%A0%81%E9%87%8D%E6%9E%84" title="代码重构 – chinois" lang="zh" hreflang="zh" data-title="代码重构" data-language-autonym="中文" data-language-local-name="chinois" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E4%BB%A3%E7%A2%BC%E9%87%8D%E6%A7%8B" title="代碼重構 – cantonais" lang="yue" hreflang="yue" data-title="代碼重構" data-language-autonym="粵語" data-language-local-name="cantonais" class="interlanguage-link-target"><span>粵語</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q116877#sitelinks-wikipedia" title="Modifier les liens interlangues" class="wbc-editpage">Modifier les liens</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Espaces de noms"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/R%C3%A9usinage_de_code" title="Voir le contenu de la page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Discussion:R%C3%A9usinage_de_code" rel="discussion" title="Discussion au sujet de cette page de contenu [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Modifier la variante de langue" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">français</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Affichages"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/R%C3%A9usinage_de_code"><span>Lire</span></a></li><li id="ca-ve-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit" title="Modifier cette page [v]" accesskey="v"><span>Modifier</span></a></li><li id="ca-edit" class="collapsible vector-tab-noicon mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit" title="Modifier le wikicode de cette page [e]" accesskey="e"><span>Modifier le code</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=history" title="Historique des versions de cette page [h]" accesskey="h"><span>Voir l’historique</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Outils" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Outils</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Outils</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">masquer</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Plus d’options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/R%C3%A9usinage_de_code"><span>Lire</span></a></li><li id="ca-more-ve-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit" title="Modifier cette page [v]" accesskey="v"><span>Modifier</span></a></li><li id="ca-more-edit" class="collapsible vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit" title="Modifier le wikicode de cette page [e]" accesskey="e"><span>Modifier le code</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=history"><span>Voir l’historique</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Général </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_li%C3%A9es/R%C3%A9usinage_de_code" title="Liste des pages liées qui pointent sur celle-ci [j]" accesskey="j"><span>Pages liées</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Suivi_des_liens/R%C3%A9usinage_de_code" rel="nofollow" title="Liste des modifications récentes des pages appelées par celle-ci [k]" accesskey="k"><span>Suivi des pages liées</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Aide:Importer_un_fichier" title="Téléverser des fichiers [u]" accesskey="u"><span>Téléverser un fichier</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Sp%C3%A9cial:Pages_sp%C3%A9ciales" title="Liste de toutes les pages spéciales [q]" accesskey="q"><span>Pages spéciales</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;oldid=219074755" title="Adresse permanente de cette version de cette page"><span>Lien permanent</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=info" title="Davantage d’informations sur cette page"><span>Informations sur la page</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Citer&amp;page=R%C3%A9usinage_de_code&amp;id=219074755&amp;wpFormIdentifier=titleform" title="Informations sur la manière de citer cette page"><span>Citer cette page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:UrlShortener&amp;url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FR%25C3%25A9usinage_de_code"><span>Obtenir l'URL raccourcie</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:QrCode&amp;url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FR%25C3%25A9usinage_de_code"><span>Télécharger le code QR</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Imprimer / exporter </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:Livre&amp;bookcmd=book_creator&amp;referer=R%C3%A9usinage+de+code"><span>Créer un livre</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Sp%C3%A9cial:DownloadAsPdf&amp;page=R%C3%A9usinage_de_code&amp;action=show-download-screen"><span>Télécharger comme PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;printable=yes" title="Version imprimable de cette page [p]" accesskey="p"><span>Version imprimable</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> Dans d’autres projets </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q116877" title="Lien vers l’élément dans le dépôt de données connecté [g]" accesskey="g"><span>Élément Wikidata</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Outils de la page"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Apparence"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Apparence</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">déplacer vers la barre latérale</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">masquer</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">Un article de Wikipédia, l&#039;encyclopédie libre.</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><div class="bandeau-container metadata bandeau-article bandeau-niveau-modere"><figure class="mw-halign-right noviewer" typeof="mw:File"><a href="/wiki/Mod%C3%A8le:%C3%80_sourcer" title="Si ce bandeau n&#39;est plus pertinent, retirez-le. Cliquez ici pour en savoir plus."><img alt="Si ce bandeau n&#39;est plus pertinent, retirez-le. Cliquez ici pour en savoir plus." src="//upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/12px-Info_Simple.svg.png" decoding="async" width="12" height="12" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/18px-Info_Simple.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/38/Info_Simple.svg/24px-Info_Simple.svg.png 2x" data-file-width="512" data-file-height="512" /></a><figcaption>Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.</figcaption></figure><div class="bandeau-cell bandeau-icone" style="display:table-cell;padding-right:0.5em"><span class="noviewer" typeof="mw:File"><a href="/wiki/Fichier:2017-fr.wp-orange-source.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/2017-fr.wp-orange-source.svg/45px-2017-fr.wp-orange-source.svg.png" decoding="async" width="45" height="45" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a1/2017-fr.wp-orange-source.svg/68px-2017-fr.wp-orange-source.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a1/2017-fr.wp-orange-source.svg/90px-2017-fr.wp-orange-source.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div><div class="bandeau-cell" style="display:table-cell;padding-right:0.5em"> <p><strong class="bandeau-titre">Cet article <a href="/wiki/Wikip%C3%A9dia:Citez_vos_sources" title="Wikipédia:Citez vos sources">ne cite pas suffisamment ses sources</a></strong> <small>(<time class="nowrap" datetime="2019-06" data-sort-value="2019-06">juin 2019</time>).</small> </p><p>Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les <b>références utiles à sa <a href="/wiki/Wikip%C3%A9dia:V%C3%A9rifiabilit%C3%A9" title="Wikipédia:Vérifiabilité">vérifiabilité</a></b> et en les liant à la section «&#160;<a href="/wiki/Aide:Ins%C3%A9rer_une_r%C3%A9f%C3%A9rence" title="Aide:Insérer une référence">Notes et références</a>&#160;». </p><p><b>En pratique&#160;:</b> <a href="/wiki/Wikip%C3%A9dia:Citez_vos_sources#Qualité_des_sources" title="Wikipédia:Citez vos sources">Quelles sources sont attendues&#160;?</a> <a href="/wiki/Aide:Ins%C3%A9rer_une_r%C3%A9f%C3%A9rence_(%C3%89diteur_visuel)" title="Aide:Insérer une référence (Éditeur visuel)">Comment ajouter mes sources&#160;?</a> </p> </div></div> <p>Le <b>réusinage de code</b> est l'opération consistant à retravailler le code source d'un <a href="/wiki/Programme_informatique" title="Programme informatique">programme informatique</a> – sans toutefois y ajouter des fonctionnalités ni en corriger les <a href="/wiki/Bug_(informatique)" title="Bug (informatique)">erreurs</a> – de façon à en améliorer la lisibilité et, par voie de conséquence, la maintenance, ou à le rendre plus générique (afin par exemple de faciliter le passage de simple à multiple précision)&#160;; on parle aussi de «&#160;remaniement&#160;». Cette technique utilise quelques méthodes propres à l'<a href="/wiki/Optimisation_de_code" title="Optimisation de code">optimisation de code</a>, avec des objectifs différents. </p><p>Le terme <b>réusinage</b> est originaire du <a href="/wiki/Qu%C3%A9bec" title="Québec">Québec</a>. L'équivalent en anglais est <i><span class="lang-en" lang="en">code refactoring</span></i>, parfois rendu par <b>refactorisation</b>, terme qui, selon l'Office québécois de la langue française (<a href="/wiki/OQLF" class="mw-redirect" title="OQLF">OQLF</a>), est à éviter<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite_crochet">[</span>1<span class="cite_crochet">]</span></a></sup>. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Justification">Justification</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=1" title="Modifier la section : Justification" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=1" title="Modifier le code source de la section : Justification"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Au cours de la vie d'un logiciel, on lui ajoute souvent des fonctions, et en tout cas on corrige ses erreurs (bugs ou bogues). Ces modifications successives, n'améliorant pas en général la <a href="/wiki/Lisibilit%C3%A9_(programmation)" title="Lisibilité (programmation)">lisibilité</a> du logiciel, ne facilitent pas, de ce fait, sa maintenance ultérieure. </p><p>Le <a href="/wiki/Code_source" title="Code source">code source</a> d'un programme a tout intérêt à rester, malgré ses modifications, le plus clair possible. </p><p>Les techniques de <a href="/wiki/Programmation_agile" class="mw-redirect" title="Programmation agile">programmation agile</a>, où évolution et mise à disposition se font en quasi-continu, rendent cette exigence encore plus fondamentale. </p><p>Pour toujours conserver un code aussi simple que possible, on&#160;: </p> <ul><li>s'assure que toute l'information nécessaire est disponible&#160;;</li> <li>supprime toute information redondante ou <a href="/wiki/Duplication_de_code" title="Duplication de code">duplication de code</a>&#160;;</li> <li>simplifie, lorsque c'est possible, l'algorithmique des <a href="/wiki/M%C3%A9thode_(informatique)" title="Méthode (informatique)">méthodes</a>&#160;;</li> <li>limite la complexité de chaque <a href="/wiki/Classe_(informatique)" title="Classe (informatique)">classe</a>&#160;;</li> <li>limite le nombre de classes.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Niveaux_de_réusinage"><span id="Niveaux_de_r.C3.A9usinage"></span>Niveaux de réusinage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=2" title="Modifier la section : Niveaux de réusinage" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=2" title="Modifier le code source de la section : Niveaux de réusinage"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Durant une même session de réusinage, on considèrera ces différents niveaux&#160;: </p> <div class="mw-heading mw-heading3"><h3 id="Modification_de_la_présentation"><span id="Modification_de_la_pr.C3.A9sentation"></span>Modification de la présentation</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=3" title="Modifier la section : Modification de la présentation" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=3" title="Modifier le code source de la section : Modification de la présentation"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ce niveau améliore la présentation du code source sans modifier le code exécuté&#160;: les commentaires (suppression de commentaires superflus, l'ajout de commentaires sur des sections complexes…) et la mise en page (indentation du code rendue homogène, passages à la ligne…). Des logiciels comme <a href="/wiki/Eclipse_(projet)" title="Eclipse (projet)">Eclipse</a> ou même l'historique <i>cb</i> (<i>C beautifier</i>) de Linux peuvent faciliter cette opération cosmétique, voire la prendre en charge. Eclipse en propose même plusieurs variantes. </p> <div class="mw-heading mw-heading3"><h3 id="Modification_de_l'algorithmique"><span id="Modification_de_l.27algorithmique"></span>Modification de l'algorithmique</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=4" title="Modifier la section : Modification de l&#039;algorithmique" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=4" title="Modifier le code source de la section : Modification de l&#039;algorithmique"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ce type de modification vise à conserver des méthodes aussi simples que possible, par exemple en scindant une méthode ou un <a href="/wiki/Algorithmique" title="Algorithmique">algorithme</a> en plusieurs parties ou en confiant à un objet annexe une partie du traitement. </p><p>Ce type de modification introduisant fréquemment des <a href="/wiki/Bug_(informatique)" title="Bug (informatique)">bogues</a>, il s'accompagne nécessairement d'une batterie de <a href="/wiki/Tests_unitaires" class="mw-redirect" title="Tests unitaires">tests unitaires</a> exécutée après chaque modification proposée pour s'assurer d'une <a href="/wiki/Non-r%C3%A9gression" class="mw-redirect" title="Non-régression">non-régression</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Relocalisation_de_procédures"><span id="Relocalisation_de_proc.C3.A9dures"></span>Relocalisation de procédures</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=5" title="Modifier la section : Relocalisation de procédures" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=5" title="Modifier le code source de la section : Relocalisation de procédures"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Consiste à déplacer une procédure soit dans une autre procédure, soit dans le corps principal de la classe. Peut également induire un déplacement de procédure dans une classe-mère (<i>pull-up</i>), ou dans une classe-fille (<i>push-down</i>). </p> <div class="mw-heading mw-heading3"><h3 id="Refonte_de_la_conception">Refonte de la conception</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=6" title="Modifier la section : Refonte de la conception" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=6" title="Modifier le code source de la section : Refonte de la conception"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Cette modification plus radicale remanie la hiérarchie des classes composant l'application. La progressivité et les tests de non-régression sont plus que jamais indispensables. Utiliser un <a href="/w/index.php?title=Explorateur_de_classes&amp;action=edit&amp;redlink=1" class="new" title="Explorateur de classes (page inexistante)">explorateur de classes</a> facilite le processus. </p> <div class="mw-heading mw-heading2"><h2 id="Activités_de_réusinage"><span id="Activit.C3.A9s_de_r.C3.A9usinage"></span>Activités de réusinage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=7" title="Modifier la section : Activités de réusinage" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=7" title="Modifier le code source de la section : Activités de réusinage"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Suppression_du_code_mort">Suppression du code mort</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=8" title="Modifier la section : Suppression du code mort" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=8" title="Modifier le code source de la section : Suppression du code mort"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Le code mort est le code dont on constate qu'il ne sert à rien faute d'être appelé par une autre partie du programme. Sans doute utile dans une étape antérieure du développement ou du <a href="/wiki/D%C3%A9bogage" class="mw-redirect" title="Débogage">débogage</a>, il n'a plus de raison d'être, rend la lecture du code source plus complexe et déconcentre les responsables de la <a href="/wiki/Maintenance" title="Maintenance">maintenance</a>. </p><p>Pour détecter le code mort, on peut utiliser les techniques suivantes&#160;: </p> <ul><li>recherche statique par l'outil <i><a href="/wiki/Grep" title="Grep">grep</a></i> sur le code source pour vérifier si une méthode est bien appelée quelque part&#160;;</li> <li>analyseur de références croisées (par exemple l'outil <i>objxref</i> livré avec le compilateur turbo <a href="/wiki/Langage_C" class="mw-redirect" title="Langage C">C</a> de Borland)&#160;;</li> <li>outil de mesure de <a href="/wiki/Couverture_de_code" title="Couverture de code">couverture de code</a>. Cette opération très pratique permet également de vérifier des portions de méthodes. Risque&#160;: du code peut être marqué à tort comme non couvert simplement parce que la suite de test n'est pas complète (or aucune ne peut être prouvée l'être totalement hormis dans des cas triviaux).</li></ul> <p>Autre forme de code mort&#160;: le code commenté (<i>commented out</i>). Il arrive souvent qu'à la suite de modifications, on laisse des pans entiers de l'ancien code pour pouvoir éventuellement revenir à la version antérieure facilement. Ce type de code devrait également être supprimé à la fin de la session de développement. </p><p>Dans tous les cas, il n'est jamais recommandé de conserver du code qui <i>pourrait servir un jour</i>.<sup class="need_ref_tag" style="padding-left:2px;"><a href="/wiki/Aide:R%C3%A9f%C3%A9rence_n%C3%A9cessaire" title="Aide:Référence nécessaire"><span title="Ce passage nécessite une référence (demandé le December 2017) ; voir l&#39;aide.">&#91;réf.&#160;nécessaire&#93;</span></a></sup> Il est toujours préférable de le supprimer de la version de travail et d'utiliser un outil de <a href="/wiki/Gestion_de_versions" title="Gestion de versions">gestion de versions</a> pour archiver ce type de code. </p> <div class="mw-heading mw-heading3"><h3 id="Ajout_d'assertions"><span id="Ajout_d.27assertions"></span>Ajout d'assertions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=9" title="Modifier la section : Ajout d&#039;assertions" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=9" title="Modifier le code source de la section : Ajout d&#039;assertions"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Les assertions définissent un ensemble de règles à respecter par une application, dans le cadre de la <a href="/wiki/Programmation_par_contrat" title="Programmation par contrat">programmation par contrat</a>. Elles sont très intéressantes d'une part car elles permettent de simplifier le débogage en détectant les erreurs au plus tôt, mais également parce qu'elles sont placées à l'intérieur du code qu'elles contrôlent et peuvent donc aider à la compréhension de l'état du système. </p> <div class="mw-heading mw-heading3"><h3 id="Renommage">Renommage</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=10" title="Modifier la section : Renommage" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=10" title="Modifier le code source de la section : Renommage"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Au fur et à mesure du développement d'un logiciel, le rôle des classes et des méthodes devient moins clair. Il est donc souvent utile de modifier les noms de classes ou de méthodes pour bien indiquer ce rôle. </p> <div class="mw-heading mw-heading3"><h3 id="Commentaires">Commentaires</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=11" title="Modifier la section : Commentaires" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=11" title="Modifier le code source de la section : Commentaires"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Il n'existe pas de consensus sur la question des <a href="/wiki/Commentaire_(informatique)" title="Commentaire (informatique)">commentaires</a> en <a href="/wiki/Documentation_logicielle" title="Documentation logicielle">documentation du logiciel</a>. Il est cependant important de toujours synchroniser commentaire, code et documentation externe (voir <a href="/wiki/Plain_Old_Documentation" title="Plain Old Documentation">POD</a>). </p> <div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=12" title="Modifier la section : Notes et références" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=12" title="Modifier le code source de la section : Notes et références"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink noprint"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage" id="2022">«&#160;<a rel="nofollow" class="external text" href="https://vitrinelinguistique.oqlf.gouv.qc.ca/fiche-gdt/fiche/26560451/reusinage"><cite style="font-style:normal;">réusinage</cite></a>&#160;», sur <span class="italique">Office québécois de la langue française</span>, dernière mise à jour&#160;: 2022 <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-11-06" data-sort-value="2023-11-06">6 novembre 2023</time>)</small></span>.</span> </li> </ol></div> </div> <div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=13" title="Modifier la section : Voir aussi" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=13" title="Modifier le code source de la section : Voir aussi"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Bibliographie">Bibliographie</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;veaction=edit&amp;section=14" title="Modifier la section : Bibliographie" class="mw-editsection-visualeditor"><span>modifier</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=R%C3%A9usinage_de_code&amp;action=edit&amp;section=14" title="Modifier le code source de la section : Bibliographie"><span>modifier le code</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Jean-Philippe Retaillé, <i>Refactoring des applications Java/J2EE</i>, Eyrolles, 2005, 390&#160;<abbr class="abbr" title="pages">p.</abbr>, <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&#160;<a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/2-212-11577-6" title="Spécial:Ouvrages de référence/2-212-11577-6"><span class="nowrap">2-212-11577-6</span></a>)</small></li> <li><a href="/wiki/Martin_Fowler" title="Martin Fowler">Martin Fowler</a>, Kent Beck, <i><span class="lang-en" lang="en">Refactoring: Improving the Design of Existing Code</span></i>, <span class="lang-en" lang="en">Addison-Wesley Professional</span>, 1999, 464&#160;<abbr class="abbr" title="pages">p.</abbr>, <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&#160;<a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/0-201-48567-2" title="Spécial:Ouvrages de référence/0-201-48567-2"><span class="nowrap">0-201-48567-2</span></a>)</small> <ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://refactoring.com">refactoring.com</a> référence les modèles pour la refactorisation tirés du livre, ainsi que de nouveaux modèles.</li></ul></li> <li>Joshua Kerievsky, <i><span class="lang-en" lang="en">Refactoring to Patterns</span></i>, <span class="lang-en" lang="en">Addison-Wesley Professional</span>, 2004, 400&#160;<abbr class="abbr" title="pages">p.</abbr>, <small style="line-height:1em;">(<a href="/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&#160;<a href="/wiki/Sp%C3%A9cial:Ouvrages_de_r%C3%A9f%C3%A9rence/0-321-21335-1" title="Spécial:Ouvrages de référence/0-321-21335-1"><span class="nowrap">0-321-21335-1</span></a>)</small></li></ul> <div class="navbox-container" style="clear:both;"> <table class="navbox collapsible noprint autocollapse" style=""> <tbody><tr><th class="navbox-title" colspan="2" style=""><div style="float:left; width:6em; text-align:left"><div class="noprint plainlinks nowrap tnavbar" style="padding:0; font-size:xx-small; color:var(--color-emphasized, #000000);"><a href="/wiki/Mod%C3%A8le:Palette_Qualit%C3%A9_logicielle" title="Modèle:Palette Qualité logicielle"><abbr class="abbr" title="Voir ce modèle.">v</abbr></a>&#160;· <a class="external text" href="https://fr.wikipedia.org/w/index.php?title=Mod%C3%A8le:Palette_Qualit%C3%A9_logicielle&amp;action=edit"><abbr class="abbr" title="Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.">m</abbr></a></div></div><div style="font-size:110%">Gestion de la <a href="/wiki/Qualit%C3%A9_logicielle" title="Qualité logicielle">qualité logicielle</a></div></th> </tr> <tr> <th class="navbox-group" style=""><a href="/wiki/Qualit%C3%A9_logicielle#Indicateurs_de_qualité_logicielle" title="Qualité logicielle">Indicateurs de qualité</a> (<a href="/wiki/ISO/CEI_9126" title="ISO/CEI 9126">ISO/CEI 9126</a>)</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li>Capacité fonctionnelle (réponse aux <a href="/wiki/Exigence_(ing%C3%A9nierie)" title="Exigence (ingénierie)">exigences</a>)</li> <li><a href="/wiki/Fiabilit%C3%A9" title="Fiabilité">Fiabilité</a></li> <li><a href="/wiki/Maintenabilit%C3%A9" title="Maintenabilité">Maintenabilité</a></li> <li><a href="/wiki/Performances_(informatique)" title="Performances (informatique)">Performance</a></li> <li><a href="/wiki/Portabilit%C3%A9_(informatique)" title="Portabilité (informatique)">Portabilité</a></li> <li><a href="/wiki/Utilisabilit%C3%A9" title="Utilisabilité">Utilisabilité</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Compréhension et contrôle du <a href="/wiki/Code_source" title="Code source">code source</a></th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Automatisation_de_test" title="Automatisation de test">Automatisation de test</a></li> <li><a href="/wiki/Commentaire_(informatique)" title="Commentaire (informatique)">Commentaires</a></li> <li><a href="/wiki/Documentation_logicielle" title="Documentation logicielle">Documentation</a></li> <li><a href="/wiki/Inspection_de_produit_logiciel" title="Inspection de produit logiciel">Inspection de produit</a></li> <li><a href="/wiki/Programmation_en_bin%C3%B4me" title="Programmation en binôme">Programmation en binôme</a> ou <a href="/wiki/Programmation_en_groupe" title="Programmation en groupe">en groupe</a></li> <li><a href="/wiki/R%C3%A8gles_de_codage" title="Règles de codage">Règles de codage</a></li> <li><a href="/wiki/Revue_de_code" title="Revue de code">Revue de code</a></li></ul> </div> <table class="navbox-subgroup" style=""> <tbody><tr> <th class="navbox-group" style="width:6em;font-weight;"><a href="/wiki/Test_(informatique)" title="Test (informatique)">Tests</a></th> <td class="navbox-list" style="width:;line-height:1.5em;text-align:left;;"><div class="liste-horizontale"> <ul><li><a href="/wiki/Test_d%27acceptation" title="Test d&#39;acceptation">Acceptation</a></li> <li><a href="/wiki/Test_d%27int%C3%A9gration" title="Test d&#39;intégration">Intégration</a></li> <li><a href="/wiki/Test_de_performance" title="Test de performance">Performance</a></li> <li><a href="/wiki/Test_de_r%C3%A9gression" title="Test de régression">Régression</a></li> <li><a href="/wiki/Test_unitaire" title="Test unitaire">Unitaire</a></li> <li><a href="/wiki/Test_utilisateur" title="Test utilisateur">Utilisateur</a></li> <li><a href="/wiki/Test_de_validation" title="Test de validation">Validation</a></li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="width:6em;font-weight;"><a href="/wiki/M%C3%A9trique_(logiciel)" title="Métrique (logiciel)">Métriques</a></th> <td class="navbox-list navbox-even" style="width:;line-height:1.5em;text-align:left;;"><div class="liste-horizontale"> <ul><li><a href="/wiki/Coh%C3%A9sion_(informatique)" title="Cohésion (informatique)">Cohésion</a></li> <li><a href="/wiki/Couplage_(informatique)" title="Couplage (informatique)">Couplage</a></li> <li><a href="/wiki/Couverture_de_code" title="Couverture de code">Couverture de code</a></li> <li><a href="/wiki/M%C3%A9triques_d%27Halstead" title="Métriques d&#39;Halstead">Halstead</a></li> <li><a href="/wiki/Ind%C3%A9pendance_fonctionnelle" title="Indépendance fonctionnelle">Indépendance fonctionnelle</a></li> <li><a href="/wiki/Indice_de_maintenabilit%C3%A9" title="Indice de maintenabilité">Indice de maintenabilité</a></li> <li><a href="/wiki/Ligne_de_code" title="Ligne de code">Ligne de code</a></li> <li><a href="/wiki/Nombre_cyclomatique" title="Nombre cyclomatique">Nombre cyclomatique</a></li> <li><a href="/wiki/Point_de_fonction" title="Point de fonction">Point de fonction</a></li></ul> </div></td> </tr> </tbody></table></td> </tr> <tr> <th class="navbox-group" style="">Remaniements</th> <td class="navbox-list" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Maintenance_du_logiciel" title="Maintenance du logiciel">Maintenance</a></li> <li><a href="/wiki/Optimisation_de_code" title="Optimisation de code">Optimisation de code</a></li> <li><a class="mw-selflink selflink">Réusinage de code</a> (<a href="/wiki/R%C3%A8gle_de_trois_(programmation_informatique)" title="Règle de trois (programmation informatique)">Règle de trois</a>)</li></ul> </div></td> </tr> <tr> <th class="navbox-group" style="">Principes de <a href="/wiki/Programmation_informatique" title="Programmation informatique">programmation</a></th> <td class="navbox-list navbox-even" style=""><div class="liste-horizontale"> <ul><li><a href="/wiki/Encapsulation_(programmation)" title="Encapsulation (programmation)">Encapsulation</a></li> <li><a href="/wiki/GRASP_(programmation)" title="GRASP (programmation)">GRASP</a></li> <li><a href="/wiki/Principe_KISS" title="Principe KISS">KISS</a></li> <li><a href="/wiki/Loi_de_D%C3%A9m%C3%A9ter" title="Loi de Déméter">Loi de Déméter</a></li> <li><a href="/wiki/Masquage_de_l%27information" title="Masquage de l&#39;information">Masquage de l'information</a></li> <li><a href="/wiki/Ne_vous_r%C3%A9p%C3%A9tez_pas" title="Ne vous répétez pas">Ne vous répétez pas (DRY)</a></li> <li><a href="/wiki/Patron_de_conception" title="Patron de conception">Patron de conception</a></li> <li><a href="/wiki/S%C3%A9paration_des_pr%C3%A9occupations" title="Séparation des préoccupations">Séparation des préoccupations</a></li> <li><a href="/wiki/YAGNI" title="YAGNI">YAGNI</a></li></ul> </div> <table class="navbox-subgroup" style=""> <tbody><tr> <th class="navbox-group" style="width:6em;font-weight;"><a href="/wiki/SOLID_(informatique)" title="SOLID (informatique)">SOLID</a></th> <td class="navbox-list" style="width:;line-height:1.5em;text-align:left;;"><div class="liste-horizontale"> <ul><li><a href="/wiki/Principe_de_responsabilit%C3%A9_unique" title="Principe de responsabilité unique">Responsabilité unique</a></li> <li><a href="/wiki/Principe_ouvert/ferm%C3%A9" title="Principe ouvert/fermé">Ouvert/fermé</a></li> <li><a href="/wiki/Principe_de_substitution_de_Liskov" title="Principe de substitution de Liskov">Substitution de Liskov</a></li> <li><a href="/wiki/Principe_de_s%C3%A9gr%C3%A9gation_des_interfaces" title="Principe de ségrégation des interfaces">Ségrégation des interfaces</a></li> <li><a href="/wiki/Inversion_des_d%C3%A9pendances" title="Inversion des dépendances">Inversion des dépendances</a></li></ul> </div></td> </tr> </tbody></table></td> </tr> <tr> <th class="navbox-group" style="">Mauvaises pratiques</th> <td class="navbox-list" style=""><div class="liste-horizontale"> </div> <table class="navbox-subgroup" style=""> <tbody><tr> <th class="navbox-group" style="width:6em;font-weight;"><a href="/wiki/Antipattern" title="Antipattern">Antipatterns</a></th> <td class="navbox-list" style="width:;line-height:1.5em;text-align:left;;"><div class="liste-horizontale"> <ul><li><a href="/wiki/Attente_active" title="Attente active">Attente active</a></li> <li><a href="/wiki/Grande_boule_de_boue" title="Grande boule de boue">Grande boule de boue</a></li> <li><a href="/wiki/Programmation_spaghetti" title="Programmation spaghetti">Programmation spaghetti</a> (<a href="/wiki/Syndrome_du_plat_de_spaghettis" title="Syndrome du plat de spaghettis">syndrome</a>)</li> <li><a href="/wiki/R%C3%A9inventer_la_roue" title="Réinventer la roue">Réinventer la roue</a></li></ul> </div></td> </tr> </tbody></table> <table class="navbox-subgroup" style=""> <tbody><tr> <th class="navbox-group" style="width:6em;font-weight;"><a href="/wiki/Code_smell" title="Code smell">Code smells</a></th> <td class="navbox-list" style="width:;line-height:1.5em;text-align:left;;"><div class="liste-horizontale"> <ul><li><a href="/wiki/Duplication_de_code" title="Duplication de code">Duplication de code</a></li> <li><a href="/wiki/God_object" title="God object">God object</a></li></ul> </div></td> </tr> </tbody></table></td> </tr> <tr> <td class="navbox-banner" style="" colspan="2">Voir aussi&#160;: <a href="/wiki/G%C3%A9nie_logiciel" title="Génie logiciel">Génie logiciel</a>, <a href="/wiki/%C3%89rosion_de_l%27architecture_logicielle" title="Érosion de l&#39;architecture logicielle">Érosion de l'architecture logicielle</a></td></tr></tbody></table> </div> <ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"><a href="/wiki/Portail:Informatique" title="Portail de l’informatique"><img alt="icône décorative" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/02/Circle-icons-computer.svg/24px-Circle-icons-computer.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/02/Circle-icons-computer.svg/36px-Circle-icons-computer.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/02/Circle-icons-computer.svg/48px-Circle-icons-computer.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Informatique" title="Portail:Informatique">Portail de l’informatique</a></span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"><a href="/wiki/Portail:Programmation_informatique" title="Portail de la programmation informatique"><img alt="icône décorative" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/24px-Circle-icons-dev.svg.png" decoding="async" width="24" height="24" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/36px-Circle-icons-dev.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Circle-icons-dev.svg/48px-Circle-icons-dev.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></span> <span class="bandeau-portail-texte"><a href="/wiki/Portail:Programmation_informatique" title="Portail:Programmation informatique">Portail de la programmation informatique</a></span> </span></li> </ul> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐7fc47fc68d‐wq47l Cached time: 20241128165906 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.212 seconds Real time usage: 0.318 seconds Preprocessor visited node count: 1426/1000000 Post‐expand include size: 55234/2097152 bytes Template argument size: 14096/2097152 bytes Highest expansion depth: 14/100 Expensive parser function count: 1/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 903/5000000 bytes Lua time usage: 0.080/10.000 seconds Lua memory usage: 4003261/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 255.849 1 -total 33.12% 84.737 1 Modèle:Portail 23.43% 59.940 1 Modèle:À_sourcer 19.39% 49.609 1 Modèle:Catégorisation_badges 17.42% 44.567 1 Modèle:Méta_bandeau_d'avertissement 11.96% 30.590 5 Modèle:Langue 11.62% 29.717 1 Modèle:Palette 10.32% 26.396 1 Modèle:Références 9.46% 24.192 1 Modèle:Palette_Qualité_logicielle 8.46% 21.638 1 Modèle:Suivi_des_biographies --> <!-- Saved in parser cache with key frwiki:pcache:idhash:2548-0!canonical and timestamp 20241128165906 and revision id 219074755. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&amp;useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Ce document provient de «&#160;<a dir="ltr" href="https://fr.wikipedia.org/w/index.php?title=Réusinage_de_code&amp;oldid=219074755">https://fr.wikipedia.org/w/index.php?title=Réusinage_de_code&amp;oldid=219074755</a>&#160;».</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Cat%C3%A9gorie:Accueil" title="Catégorie:Accueil">Catégories</a> : <ul><li><a href="/wiki/Cat%C3%A9gorie:Programmation_informatique" title="Catégorie:Programmation informatique">Programmation informatique</a></li><li><a href="/wiki/Cat%C3%A9gorie:G%C3%A9nie_logiciel" title="Catégorie:Génie logiciel">Génie logiciel</a></li><li><a href="/wiki/Cat%C3%A9gorie:M%C3%A9thode_agile" title="Catégorie:Méthode agile">Méthode agile</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Catégories cachées : <ul><li><a href="/wiki/Cat%C3%A9gorie:Article_manquant_de_r%C3%A9f%C3%A9rences_depuis_juin_2019" title="Catégorie:Article manquant de références depuis juin 2019">Article manquant de références depuis juin 2019</a></li><li><a href="/wiki/Cat%C3%A9gorie:Article_manquant_de_r%C3%A9f%C3%A9rences/Liste_compl%C3%A8te" title="Catégorie:Article manquant de références/Liste complète">Article manquant de références/Liste complète</a></li><li><a href="/wiki/Cat%C3%A9gorie:Article_%C3%A0_r%C3%A9f%C3%A9rence_n%C3%A9cessaire" title="Catégorie:Article à référence nécessaire">Article à référence nécessaire</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Informatique/Articles liés">Portail:Informatique/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Technologies/Articles_li%C3%A9s" title="Catégorie:Portail:Technologies/Articles liés">Portail:Technologies/Articles liés</a></li><li><a href="/wiki/Cat%C3%A9gorie:Portail:Programmation_informatique/Articles_li%C3%A9s" title="Catégorie:Portail:Programmation informatique/Articles liés">Portail:Programmation informatique/Articles liés</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> La dernière modification de cette page a été faite le 1 octobre 2024 à 09:09.</li> <li id="footer-info-copyright"><span style="white-space: normal"><a href="/wiki/Wikip%C3%A9dia:Citation_et_r%C3%A9utilisation_du_contenu_de_Wikip%C3%A9dia" title="Wikipédia:Citation et réutilisation du contenu de Wikipédia">Droit d'auteur</a>&#160;: les textes sont disponibles sous <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">licence Creative Commons attribution, partage dans les mêmes conditions</a>&#160;; d’autres conditions peuvent s’appliquer. Voyez les <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/fr">conditions d’utilisation</a> pour plus de détails, ainsi que les <a href="/wiki/Wikip%C3%A9dia:Cr%C3%A9dits_graphiques" title="Wikipédia:Crédits graphiques">crédits graphiques</a>. En cas de réutilisation des textes de cette page, voyez <a href="/wiki/Sp%C3%A9cial:Citer/R%C3%A9usinage_de_code" title="Spécial:Citer/Réusinage de code">comment citer les auteurs et mentionner la licence</a>.<br /> Wikipedia® est une marque déposée de la <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a href="/wiki/501c" title="501c">501(c)(3)</a> du code fiscal des États-Unis.</span><br /></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/fr">Politique de confidentialité</a></li> <li id="footer-places-about"><a href="/wiki/Wikip%C3%A9dia:%C3%80_propos_de_Wikip%C3%A9dia">À propos de Wikipédia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikip%C3%A9dia:Avertissements_g%C3%A9n%C3%A9raux">Avertissements</a></li> <li id="footer-places-contact"><a href="//fr.wikipedia.org/wiki/Wikipédia:Contact">Contact</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code de conduite</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Développeurs</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/fr.wikipedia.org">Statistiques</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Déclaration sur les témoins (cookies)</a></li> <li id="footer-places-mobileview"><a href="//fr.m.wikipedia.org/w/index.php?title=R%C3%A9usinage_de_code&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Version mobile</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-78f4c97c5d-t8b4j","wgBackendResponseTime":161,"wgPageParseReport":{"limitreport":{"cputime":"0.212","walltime":"0.318","ppvisitednodes":{"value":1426,"limit":1000000},"postexpandincludesize":{"value":55234,"limit":2097152},"templateargumentsize":{"value":14096,"limit":2097152},"expansiondepth":{"value":14,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":903,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 255.849 1 -total"," 33.12% 84.737 1 Modèle:Portail"," 23.43% 59.940 1 Modèle:À_sourcer"," 19.39% 49.609 1 Modèle:Catégorisation_badges"," 17.42% 44.567 1 Modèle:Méta_bandeau_d'avertissement"," 11.96% 30.590 5 Modèle:Langue"," 11.62% 29.717 1 Modèle:Palette"," 10.32% 26.396 1 Modèle:Références"," 9.46% 24.192 1 Modèle:Palette_Qualité_logicielle"," 8.46% 21.638 1 Modèle:Suivi_des_biographies"]},"scribunto":{"limitreport-timeusage":{"value":"0.080","limit":"10.000"},"limitreport-memusage":{"value":4003261,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-7fc47fc68d-wq47l","timestamp":"20241128165906","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"R\u00e9usinage de code","url":"https:\/\/fr.wikipedia.org\/wiki\/R%C3%A9usinage_de_code","sameAs":"http:\/\/www.wikidata.org\/entity\/Q116877","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q116877","author":{"@type":"Organization","name":"Contributeurs aux projets Wikimedia"},"publisher":{"@type":"Organization","name":"Fondation Wikimedia, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-10-30T11:19:53Z","dateModified":"2024-10-01T08:09:09Z","headline":"op\u00e9ration consistant \u00e0 retravailler le code source d'un programme informatique"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10