Code refactoring (original) (raw)
Refacció és el procés mitjançant el qual es fa una reescriptura d'un material escrit per tal de facilitar la seva comprensió i millorar-ne la seva estructura interna. Aquest procés es duu a terme conservant el significat del text i el seu comportament.
Property | Value |
---|---|
dbo:abstract | Refacció és el procés mitjançant el qual es fa una reescriptura d'un material escrit per tal de facilitar la seva comprensió i millorar-ne la seva estructura interna. Aquest procés es duu a terme conservant el significat del text i el seu comportament. (ca) إعادة هيكلة التعليمات البرمجية هي عملية إعادة هيكلة رمز الكمبيوتر الحالي - تغيير شكله - دون تغيير سلوكه الخارجي. يهدف Refactoring إلى تحسين السمات الغير الوظيفية للبرنامج. وتشمل المزايا تحسين قراءة التعليمات البرمجية وتقليل التعقيد. يمكن أن يؤدي ذلك إلى تحسين إمكانية صيانة التعليمات البرمجية المصدر وإنشاء بنية داخلية أكثر تعبيراً أو النموذج الكائني لتحسين قابليتيه للتوسعة. بشكل عام، تطبق إعادة الهيكلة سلسلة من عمليات إعادة الهيكلة الدقيقة الأساسية الموحدة، والتي يكون كل منها (عادة) تغييراً طفيفًا في الكود المصدري لبرنامج الكمبيوتر الذي إما يحتفظ بسلوك البرنامج، أو على الأقل لا يعدل توافقه للمتطلبات الوظيفية. توفر العديد من بيئات التطوير دعمًا تلقائيًا لأداء الجوانب الميكانيكية لإعادة الهيكلة الأساسية. إذا تمت إعادة صياغة التعليمات البرمجية بشكل جيد، فقد تساعد مطوري البرامج على اكتشاف وإصلاح الخلل أو الثغرات الخفية أو النائمة في النظام من خلال تبسيط المنطق الأساسي والقضاء على مستويات التعقيد غير الضرورية. إذا تم القيام به بشكل سيئ، فقد يفشل متطلب عدم تغيير الوظيفة الخارجية أو إدخال أخطاء جديدة أو كليهما. «من خلال التحسين المستمر لتصميم الكود، نجعل التعامل معه أسهل وأكثر سهولة. هذا في تناقض حاد مع ما يحدث عادة: القليل من إعادة الهيكلة والكثير من الانتباه يساهم في التسريع من وتيرة إضافة ميزات جديدة, إذا اعتدت على عادة إعادة الهيكلة بإستمرار ,فستجد أنه من السهل تطوير التعليمات البرمجية والحفاظ عليها.» – Joshua Kerievsky, Refactoring to Patterns (ar) Refaktorování je disciplinovaný proces provádění změn v softwarovém systému takovým způsobem, že nemají vliv na vnější chování kódu, ale vylepšují jeho vnitřní strukturu s minimálním rizikem vnášení chyb. Při refaktorování se provádí malé až primitivní změny, ale celkový efekt je velký, a to v podobě čistšího, průhlednějšího a čitelnějšího kódu, kód se také lépe udržuje a rozšiřuje. Zlepšuje se také celková kvalita kódu a architektura, snižuje se počet chyb a tím i zvyšuje rychlost vývoje programu. Refaktorování pomáhá pochopit a více si ujasnit kód, což je vhodné zejména upravování zdrojového kódu po někom jiném. (cs) Refactoring (auch Refaktorisierung, Refaktorierung oder Restrukturierung) bezeichnet in der Software-Entwicklung die manuelle oder automatisierte Strukturverbesserung von Quelltexten unter Beibehaltung des beobachtbaren Programmverhaltens. Dabei sollen Lesbarkeit, Verständlichkeit, Wartbarkeit und Erweiterbarkeit verbessert werden, mit dem Ziel, den jeweiligen Aufwand für Fehleranalyse und funktionale Erweiterungen deutlich zu senken. Refactoring ist ein zentraler Bestandteil der Agilen Softwareentwicklung. Dort wird meist von „kontinuierlichem“ Refactoring oder „kompromisslosem“ Refactoring gesprochen. Refactoring ist in der agilen Softwareentwicklung wie Kodieren oder Modultesten ein integraler Bestandteil des Softwareentwicklungsprozesses und nicht auf bestimmte Zeiten bzw. Phasen beschränkt. (de) In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. Potential advantages of refactoring may include improved code readability and reduced complexity; these can improve the source code's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory. Typically, refactoring applies a series of standardized basic micro-refactorings, each of which is (usually) a tiny change in a computer program's source code that either preserves the behavior of the software, or at least does not modify its conformance to functional requirements. Many development environments provide automated support for performing the mechanical aspects of these basic refactorings. If done well, code refactoring may help software developers discover and fix hidden or dormant bugs or vulnerabilities in the system by simplifying the underlying logic and eliminating unnecessary levels of complexity. If done poorly, it may fail the requirement that external functionality not be changed, and may thus introduce new bugs. By continuously improving the design of code, we make it easier and easier to work with. This is in sharp contrast to what typically happens: little refactoring and a great deal of attention paid to expediently add new features. If you get into the hygienic habit of refactoring continuously, you'll find that it is easier to extend and maintain code. — Joshua Kerievsky, Refactoring to Patterns (en) La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo. (es) Refaktorisasi kode (code refactoring) adalah proses restrukturisasi kode program komputer yang ada tanpa mengubah perilaku eksternalnya. Proses ini antara lain ditujukan untuk meningkatkan keterbacaan, mengurangi kompeksitas, memudahkan pemeliharaan, dan memperbaiki keterluasan kode program. Istilah ini dipopulerkan oleh pada bukunya, Refactoring: Improving the Design of Existing Code (1999). (in) Le réusinage de code est l'opération consistant à retravailler le code source d'un programme informatique – sans toutefois y ajouter des fonctionnalités ni en corriger les bogues – 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 en multiple précision) ; on parle aussi de « remaniement ». Cette technique utilise quelques méthodes propres à l'optimisation de code, avec des objectifs différents. Le terme réusinage est originaire du Québec. L'équivalent en anglais est code refactoring, parfois rendu par refactorisation, terme qui, selon l'Office québécois de la langue française (OQLF), est à éviter. (fr) リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。また、いくつかのリファクタリング手法の総称としても使われる。ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。 (ja) 리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다. 리팩터링의 잠재적인 목표는 소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것이다. 리펙터링은 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 유지 보수성을 개선하고 확장성을 개선하기 위해 더 단순하고, 깔끔하거나, 표현력이 뛰어난 내부 아키텍처 또는 객체 모델을 만들 수 있게 한다. 그리고 소프트웨어 엔지니어는 더 빠르게 수행되거나 더 적은 메모리를 사용하는 프로그램을 작성해야 하는 지속적인 과제에 직면해 있기에 성능 향상이 리팩터링의 또다른 목표가 된다. 일반적으로 리팩터링은 일련의 표준화된 기본 마이크로 리팩터링을 적용하는데, 각 리팩터는 소프트웨어의 동작을 보존하거나 최소한 기능적 요건에 대한 준수를 수정하지 않는 컴퓨터 프로그램의 소스 코드의 작은 변화이다. 많은 개발 환경에서 이러한 기본 리팩터링의 기계적 측면을 수행하기 위한 자동 지원을 제공한다. 코드 리팩터링을 잘 수행하면 소프트웨어 개발자가 기본 논리를 단순화하고 불필요한 수준의 복잡성을 제거하여 시스템의 숨겨진 또는 유휴 버그나 취약성을 발견하고 해결하는 데 도움이 될 수 있다. 그러나 잘못 수행되면 외부 기능을 변경하지 않거나 새로운 버그를 도입하거나 둘 다에 대한 요구 사항을 충족하지 못할 수 있다. 마틴 파울러의 저서 《리팩토링》에 다양한 리팩터링 패턴들이 정리되어 있다. 그중 대표적인 것 몇 가지를 들자면, , , , 등이 있다. (ko) Con refactoring (o code refactoring), nell'ingegneria del software, si indica una "tecnica strutturata per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno", applicata per migliorare alcune caratteristiche non funzionali del software quali la leggibilità, la manutenibilità, la riusabilità, l' del codice nonché la riduzione della sua complessità, eventualmente attraverso l'introduzione a posteriori di design pattern. Si tratta di un elemento importante delle principali metodologie emergenti di sviluppo del software (soprattutto object-oriented), per esempio delle metodologie agili, dell'extreme programming, e del test driven development. (it) Refactoren (Engels: refactoring) is het herstructureren van de broncode van een computerprogramma met als doel de leesbaarheid en onderhoudbaarheid te verbeteren of het stuk code te vereenvoudigen. Het refactoren van broncode verandert de werking van de software niet: elke refactorstap is een kleine, ongedaan te maken stap die de leesbaarheid verhoogt zonder de werking aan te passen. Het wordt met name gebruikt bij extreme programming, een vorm van agile-softwareontwikkeling. (nl) Refaktoryzacja (czasem też refaktoring, ang. refactoring) – proces wprowadzania zmian w projekcie/programie, w wyniku których zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. W ramach refaktoryzacji podejmowane są następujące działania: * modyfikowanie elementów systemu w celu wpasowania ich w przyjęte standardy i wzorce * poszukiwanie nowych standardów i wzorców, które pojawiły się w systemie w trakcie jego rozwoju i ich precyzyjne definiowanie (łącznie z wpasowywaniem istniejących elementów w te definicje). Dzięki refaktoryzacji w systemie ogranicza się redundancję (nadmiarowość, np. istnienie wielu obiektów i procedur o takiej samej lub bardzo zbliżonej funkcjonalności, a mających niezależne implementacje, czyli stosując regułę DRY) i wprowadza standardy. W przypadku systemów o architekturach wielowarstwowych, refaktoryzacja jest jednym z istotnych czynników gwarantujących zachowanie silnej separacji warstw systemu i ich przejrzystej struktury. Refaktoryzacja jest kosztowna, ale jest istotnym elementem zarządzania projektem informatycznym. W szczególności zaś przy dużych i złożonych projektach koszt dobrze prowadzonej refaktoryzacji powinien być zrekompensowany dużo niższym kosztem wprowadzania późniejszych zmian w projekcie, szczególnie zmian o charakterze globalnym (przekrojowym), dotykających wielu modułów funkcjonalnych jednocześnie. W przypadku projektów obarczonych dużym ryzykiem niepowodzenia (np. z powodu niestabilnych wymagań funkcjonalnych klienta) regularnie prowadzona refaktoryzacja wydaje się być nieodzowna. Narzędzia wspomagające refaktoryzację należą do narzędzi CASE i możemy je dziś spotkać jako narzędzia wbudowane w zintegrowane środowiska programistyczne. (pl) Refatoração (do inglês refactoring) é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso desta técnica aprimora a concepção (design) de um software e evita a deterioração tão comum durante o ciclo de vida de um código. Esta deterioração é geralmente causada por mudanças com objetivos de curto prazo ou por alterações realizadas sem a clara compreensão da concepção do sistema. Outra consequência é a melhora no entendimento do código, o que facilita a manutenção e evita a inclusão de defeitos. Esta melhora no entendimento vem da constante alteração do código com objetivo de facilitar a comunicação de motivações, intenções e objetivos por parte do programador. É fundamental que o sistema de software possua testes automatizados para realizar refatoração. Desta forma, será possível garantir que o comportamento externo não foi alterado. O livro mais importante sobre refatoração é Refactoring: Improving the Design of Existing Code (ISBN 0-201-48567-2) de Martin Fowler, onde são explicados os conceitos, motivações e uma série de refatorações descritas passo a passo. Programação extrema tem refatoração como uma de suas práticas. (pt) Omstrukturering av kod eller refaktorisering/refaktorering (engelska: refactoring) innebär inom programvaruutveckling en stegvis förbättring av kvaliteten på programkod. Syftet är att systematisera koden för att få den enklare och överskådligare, lättare att underhålla och lättare att vidareutveckla. En viktig detalj med omstruktureringen är att funktionaliteten utåt sett ska vara identisk efteråt, det vill säga beteendet på koden ska inte ha ändrats. Därför bör omstrukturering göras stegvis även vid enkla ändringar. Eftersom omstrukturering inte tillför något nytt till koden är det ett ganska mekaniskt arbete där det numera[när?] finns verktyg för att automatisera mycket av jobbet. Speciellt inom objektorienterade språk används omstrukturering allt oftare, till exempel för att flytta en metod från en klass till en annan och automatiskt ändra alla ställen i koden där metoden används. (sv) Рефакторинг (англ. refactoring) — процес редагування програмного коду, внутрішньої структури програмного забезпечення для полегшення розуміння коду та внесення подальших правок без зміни зовнішньої поведінки самої системи. Слово «рефакторинг» пішло від терміну «факторинг» в структурному програмуванні; цей термін означав декомпозицію програми на максимально автономні та елементарні частини. (uk) 代码重构(英語:code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。 (zh) Рефа́кторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости. (ru) |
dbo:wikiPageExternalLink | http://refactoring.com/ https://zenodo.org/record/848931%7Cjournal=IEEE http://c2.com/cgi/wiki%3FWhatIsRefactoring |
dbo:wikiPageID | 25871 (xsd:integer) |
dbo:wikiPageLength | 24567 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1121557303 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:PyCharm dbr:PyDev dbr:Python_(programming_language) dbr:Qt_Creator dbr:Scientific_method dbr:Non-functional_requirement dbr:Monorepo dbr:Development_environment_(software_development_process) dbr:Application_discovery_and_understanding dbr:DMS_Software_Reengineering_Toolkit dbr:Visual_Assist dbr:Visual_Studio dbr:Decomposition_(computer_science) dbr:Duplicate_code dbr:VHDL-AMS dbc:Technology_neologisms dbr:Object-oriented_programming dbr:Object_model dbr:Vulnerability_(computing) dbr:CodeRush dbr:Context_menu dbr:Photran dbr:Refactoring_Browser dbr:Android_Studio dbr:AppCode dbr:Smalltalk dbr:Subclass_(computer_science) dbr:Computer_code dbr:Computer_programming dbr:Fellow dbr:Functional_requirement dbr:Hardware_security_module dbr:Software_architecture dbr:Polymorphism_(computer_science) dbr:Program_Dependence_Graph dbr:Software_peer_review dbr:Test-driven_development dbr:Readability dbr:C_Sharp_(programming_language) dbr:Database_refactoring dbr:William_Opdyke dbr:Wing_IDE dbr:Technical_debt dbr:Agile_software_development dbr:Amelioration_pattern dbr:Cyclomatic_complexity dbr:Eclipse_(software) dbr:Extensibility dbr:Extract_class dbr:Forth_(programming_language) dbr:Fortran dbr:PHP dbc:Extreme_programming dbr:Source_code dbr:Text_editor dbr:Repository_(version_control) dbr:Hardware_description_language dbr:Atomic_commit dbr:JDeveloper dbr:JavaScript dbr:Java_(programming_language) dbr:Prefactoring dbr:Software_development_process dbr:Abstraction_(computer_science) dbr:Bill_Griswold dbr:Superclass_(computer_science) dbr:Swift_(programming_language) dbr:Synopsys dbc:Code_refactoring dbr:Code_review dbr:Code_smell dbr:Program_transformation dbr:Modular_programming dbr:Software_design dbr:Martin_Fowler_(software_engineer) dbr:PhpStorm dbr:Field_encapsulation dbr:Embarcadero_Delphi dbr:Integrated_development_environment dbr:IntelliJ_IDEA dbr:Method_(computer_science) dbr:NetBeans dbr:Objective-C dbr:Ralph_Johnson_(computer_scientist) dbr:Xcode dbr:Software_bug dbr:Maintainability dbr:Separation_of_concerns dbr:Software dbr:Unit_testing dbr:Extreme_programming dbr:Programming_language dbr:Type_generalization dbr:Software_intelligence dbr:Class_(computer_science) dbr:Function_(programming) dbr:Design_pattern_(computer_science) dbr:Obfuscated_code dbr:Clone_detection dbr:WebStorm dbr:Resharper dbr:Leo_Brodie_(programmer) dbr:Thinking_Forth |
dbp:wikiPageUsesTemplate | dbt:' dbt:About-distinguish dbt:According_to_whom dbt:Authority_control dbt:Cite_book dbt:Cite_journal dbt:Curlie dbt:More_citations_needed dbt:Page_needed dbt:Quote dbt:Redirect dbt:Reflist dbt:Short_description |
dct:subject | dbc:Technology_neologisms dbc:Extreme_programming dbc:Code_refactoring |
gold:hypernym | dbr:Process |
rdf:type | owl:Thing yago:Abstraction100002137 yago:LanguageUnit106284225 yago:Neologism106294441 yago:Part113809207 yago:Relation100031921 yago:Word106286395 dbo:Election yago:WikicatTechnologyNeologisms |
rdfs:comment | Refacció és el procés mitjançant el qual es fa una reescriptura d'un material escrit per tal de facilitar la seva comprensió i millorar-ne la seva estructura interna. Aquest procés es duu a terme conservant el significat del text i el seu comportament. (ca) Refaktorování je disciplinovaný proces provádění změn v softwarovém systému takovým způsobem, že nemají vliv na vnější chování kódu, ale vylepšují jeho vnitřní strukturu s minimálním rizikem vnášení chyb. Při refaktorování se provádí malé až primitivní změny, ale celkový efekt je velký, a to v podobě čistšího, průhlednějšího a čitelnějšího kódu, kód se také lépe udržuje a rozšiřuje. Zlepšuje se také celková kvalita kódu a architektura, snižuje se počet chyb a tím i zvyšuje rychlost vývoje programu. Refaktorování pomáhá pochopit a více si ujasnit kód, což je vhodné zejména upravování zdrojového kódu po někom jiném. (cs) La refactorización (del inglés refactoring) es una técnica de la ingeniería de software para reestructurar un código fuente, alterando su estructura interna sin cambiar su comportamiento externo. (es) Refaktorisasi kode (code refactoring) adalah proses restrukturisasi kode program komputer yang ada tanpa mengubah perilaku eksternalnya. Proses ini antara lain ditujukan untuk meningkatkan keterbacaan, mengurangi kompeksitas, memudahkan pemeliharaan, dan memperbaiki keterluasan kode program. Istilah ini dipopulerkan oleh pada bukunya, Refactoring: Improving the Design of Existing Code (1999). (in) リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理することである。また、いくつかのリファクタリング手法の総称としても使われる。ただし、十分に確立された技術とはいえず、また「リファクタリング」という言葉に厳密な定義があるわけではない。 (ja) Con refactoring (o code refactoring), nell'ingegneria del software, si indica una "tecnica strutturata per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno", applicata per migliorare alcune caratteristiche non funzionali del software quali la leggibilità, la manutenibilità, la riusabilità, l' del codice nonché la riduzione della sua complessità, eventualmente attraverso l'introduzione a posteriori di design pattern. Si tratta di un elemento importante delle principali metodologie emergenti di sviluppo del software (soprattutto object-oriented), per esempio delle metodologie agili, dell'extreme programming, e del test driven development. (it) Refactoren (Engels: refactoring) is het herstructureren van de broncode van een computerprogramma met als doel de leesbaarheid en onderhoudbaarheid te verbeteren of het stuk code te vereenvoudigen. Het refactoren van broncode verandert de werking van de software niet: elke refactorstap is een kleine, ongedaan te maken stap die de leesbaarheid verhoogt zonder de werking aan te passen. Het wordt met name gebruikt bij extreme programming, een vorm van agile-softwareontwikkeling. (nl) Рефакторинг (англ. refactoring) — процес редагування програмного коду, внутрішньої структури програмного забезпечення для полегшення розуміння коду та внесення подальших правок без зміни зовнішньої поведінки самої системи. Слово «рефакторинг» пішло від терміну «факторинг» в структурному програмуванні; цей термін означав декомпозицію програми на максимально автономні та елементарні частини. (uk) 代码重构(英語:code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。 软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。 (zh) Рефа́кторинг (англ. refactoring), или перепроектирование кода, переработка кода, равносильное преобразование алгоритмов — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и чёткости. (ru) إعادة هيكلة التعليمات البرمجية هي عملية إعادة هيكلة رمز الكمبيوتر الحالي - تغيير شكله - دون تغيير سلوكه الخارجي. يهدف Refactoring إلى تحسين السمات الغير الوظيفية للبرنامج. وتشمل المزايا تحسين قراءة التعليمات البرمجية وتقليل التعقيد. يمكن أن يؤدي ذلك إلى تحسين إمكانية صيانة التعليمات البرمجية المصدر وإنشاء بنية داخلية أكثر تعبيراً أو النموذج الكائني لتحسين قابليتيه للتوسعة. (ar) In computer programming and software design, code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring is intended to improve the design, structure, and/or implementation of the software (its non-functional attributes), while preserving its functionality. Potential advantages of refactoring may include improved code readability and reduced complexity; these can improve the source code's maintainability and create a simpler, cleaner, or more expressive internal architecture or object model to improve extensibility. Another potential goal for refactoring is improved performance; software engineers face an ongoing challenge to write programs that perform faster or use less memory. (en) Refactoring (auch Refaktorisierung, Refaktorierung oder Restrukturierung) bezeichnet in der Software-Entwicklung die manuelle oder automatisierte Strukturverbesserung von Quelltexten unter Beibehaltung des beobachtbaren Programmverhaltens. Dabei sollen Lesbarkeit, Verständlichkeit, Wartbarkeit und Erweiterbarkeit verbessert werden, mit dem Ziel, den jeweiligen Aufwand für Fehleranalyse und funktionale Erweiterungen deutlich zu senken. (de) Le réusinage de code est l'opération consistant à retravailler le code source d'un programme informatique – sans toutefois y ajouter des fonctionnalités ni en corriger les bogues – 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 en multiple précision) ; on parle aussi de « remaniement ». Cette technique utilise quelques méthodes propres à l'optimisation de code, avec des objectifs différents. (fr) 리팩터링(refactoring)은 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 한다. 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다. 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 유지보수 행위이다. 리팩터링의 잠재적인 목표는 소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것이다. 리펙터링은 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 유지 보수성을 개선하고 확장성을 개선하기 위해 더 단순하고, 깔끔하거나, 표현력이 뛰어난 내부 아키텍처 또는 객체 모델을 만들 수 있게 한다. 그리고 소프트웨어 엔지니어는 더 빠르게 수행되거나 더 적은 메모리를 사용하는 프로그램을 작성해야 하는 지속적인 과제에 직면해 있기에 성능 향상이 리팩터링의 또다른 목표가 된다. 마틴 파울러의 저서 《리팩토링》에 다양한 리팩터링 패턴들이 정리되어 있다. 그중 대표적인 것 몇 가지를 들자면, , , , 등이 있다. (ko) Refaktoryzacja (czasem też refaktoring, ang. refactoring) – proces wprowadzania zmian w projekcie/programie, w wyniku których zasadniczo nie zmienia się funkcjonalność. Celem refaktoryzacji jest więc nie wytwarzanie nowej funkcjonalności, ale utrzymywanie odpowiedniej, wysokiej jakości organizacji systemu. W ramach refaktoryzacji podejmowane są następujące działania: Narzędzia wspomagające refaktoryzację należą do narzędzi CASE i możemy je dziś spotkać jako narzędzia wbudowane w zintegrowane środowiska programistyczne. (pl) Refatoração (do inglês refactoring) é o processo de modificar um sistema de software para melhorar a estrutura interna do código sem alterar seu comportamento externo. O uso desta técnica aprimora a concepção (design) de um software e evita a deterioração tão comum durante o ciclo de vida de um código. Esta deterioração é geralmente causada por mudanças com objetivos de curto prazo ou por alterações realizadas sem a clara compreensão da concepção do sistema. Programação extrema tem refatoração como uma de suas práticas. (pt) Omstrukturering av kod eller refaktorisering/refaktorering (engelska: refactoring) innebär inom programvaruutveckling en stegvis förbättring av kvaliteten på programkod. Syftet är att systematisera koden för att få den enklare och överskådligare, lättare att underhålla och lättare att vidareutveckla. En viktig detalj med omstruktureringen är att funktionaliteten utåt sett ska vara identisk efteråt, det vill säga beteendet på koden ska inte ha ändrats. Därför bör omstrukturering göras stegvis även vid enkla ändringar. (sv) |
rdfs:label | Code refactoring (en) إعادة هيكلة الكود (ar) Refacció (ca) Refaktorování (cs) Refactoring (de) Refactorización (es) Refaktorisasi kode (in) Refactoring (it) Réusinage de code (fr) 리팩터링 (ko) リファクタリング (プログラミング) (ja) Refactoren (nl) Refaktoryzacja (pl) Refatoração (pt) Omstrukturering av kod (sv) Рефакторинг (ru) 代码重构 (zh) Рефакторинг (uk) |
owl:sameAs | freebase:Code refactoring yago-res:Code refactoring http://d-nb.info/gnd/4784343-3 wikidata:Code refactoring dbpedia-ar:Code refactoring dbpedia-bg:Code refactoring dbpedia-ca:Code refactoring dbpedia-cs:Code refactoring dbpedia-da:Code refactoring dbpedia-de:Code refactoring dbpedia-es:Code refactoring dbpedia-et:Code refactoring dbpedia-fa:Code refactoring dbpedia-fi:Code refactoring dbpedia-fr:Code refactoring dbpedia-gl:Code refactoring dbpedia-he:Code refactoring dbpedia-hr:Code refactoring dbpedia-hu:Code refactoring dbpedia-id:Code refactoring dbpedia-it:Code refactoring dbpedia-ja:Code refactoring dbpedia-ko:Code refactoring http://lt.dbpedia.org/resource/Pertvarkymas_(programavimas) http://mn.dbpedia.org/resource/Кодыг_дахин_факторлох dbpedia-nl:Code refactoring dbpedia-no:Code refactoring dbpedia-pl:Code refactoring dbpedia-pt:Code refactoring dbpedia-ro:Code refactoring dbpedia-ru:Code refactoring dbpedia-sr:Code refactoring dbpedia-sv:Code refactoring dbpedia-uk:Code refactoring dbpedia-vi:Code refactoring dbpedia-zh:Code refactoring https://global.dbpedia.org/id/Da5F |
prov:wasDerivedFrom | wikipedia-en:Code_refactoring?oldid=1121557303&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Code_refactoring |
is dbo:wikiPageDisambiguates of | dbr:Factoring |
is dbo:wikiPageRedirects of | dbr:Refactoring dbr:Reengineering_(software) dbr:Automated_code_refactoring dbr:Automated_refactoring dbr:Automatic_refactoring dbr:Hardware_refactoring dbr:Redesign_(software) dbr:Refactor dbr:Refactor_code dbr:Refactored dbr:Refactored_solutions dbr:Refactorings dbr:Code_Grooming dbr:Code_Refactoring dbr:Code_refactor dbr:Extract_Method |
is dbo:wikiPageWikiLink of | dbr:Powerflasher_FDT dbr:PyDev dbr:Pydio dbr:Factoring dbr:Monorepo dbr:Blender_(software) dbr:Decompiler dbr:Delphi_(software) dbr:Aqris dbr:ArduPilot dbr:Joomla dbr:Currying dbr:Visual_Studio dbr:Visual_Studio_Code dbr:Decomposition_(computer_science) dbr:Dependency_hell dbr:Dependency_injection dbr:Destructor_(computer_programming) dbr:Duplicate_code dbr:Indentation_style dbr:Software_archaeology dbr:Comparison_of_integrated_development_environments dbr:Cross-cutting_concern dbr:Object-oriented_programming dbr:Open_Semantic_Framework dbr:Pointcut dbr:Source-to-source_compiler dbr:Clang dbr:CodeLite dbr:Function_(computer_programming) dbr:Google_Plugin_for_Eclipse dbr:Multiview_Video_Coding dbr:Concatenative_programming_language dbr:Content_similarity_detection dbr:Critical_mass_(software_engineering) dbr:The_Mythical_Man-Month dbr:Refactoring dbr:Android_Studio dbr:Low-pass_filter dbr:Ski_rental_problem dbr:Star_Wars_Galaxies dbr:Stylus_Studio dbr:Comment_programming dbr:Compilation_error dbr:Computer_programming dbr:Feature_model dbr:Test_automation dbr:Test-driven_development dbr:Data_clump dbr:Database_refactoring dbr:William_Opdyke dbr:Wing_IDE dbr:Lambda_lifting dbr:Technical_debt dbr:Agile_software_development dbr:Pull_up dbr:Reengineering_(software) dbr:Rewrite_(programming) dbr:JEB_decompiler dbr:TensorFlow dbr:The_Elder_Scrolls_II:_Daggerfall dbr:Hungarian_notation dbr:Abstract_semantic_graph dbr:JetBrains dbr:Jikes_RVM dbr:LXQt dbr:Block_Range_Index dbr:Code_bloat dbr:Code_cleanup dbr:Code_smell dbr:High-pass_filter dbr:Aspect-oriented_programming dbr:Marlin_(firmware) dbr:Martin_Fowler_(software_engineer) dbr:Philosophy_of_artificial_intelligence dbr:Software_framework dbr:Software_maintenance dbr:Software_rot dbr:Source_(game_engine) dbr:IntelliJ_IDEA dbr:Minimalism_(computing) dbr:NetBeans dbr:OCRopus dbr:OpenFL dbr:Cassandre_software dbr:RSpec dbr:Sencha_Touch dbr:SharpDevelop dbr:X_Window_System dbr:Memory_hierarchy dbr:Rule_of_three_(computer_programming) dbr:Search-based_software_engineering dbr:Program_lifecycle_phase dbr:Extreme_programming_practices dbr:Facade_pattern dbr:Factory_(object-oriented_programming) dbr:List_of_unit_testing_frameworks dbr:You_aren't_gonna_need_it dbr:Software_entropy dbr:Upsizing_(database) dbr:Service_refactoring dbr:Automated_code_refactoring dbr:Automated_refactoring dbr:Automatic_refactoring dbr:Hardware_refactoring dbr:Redesign_(software) dbr:Refactor dbr:Refactor_code dbr:Refactored dbr:Refactored_solutions dbr:Refactorings dbr:Code_Grooming dbr:Code_Refactoring dbr:Code_refactor dbr:Extract_Method |
is dbp:subDiscipline of | dbr:William_Opdyke |
is foaf:primaryTopic of | wikipedia-en:Code_refactoring |