Duplicate code (original) (raw)
Bei Quelltextklonen (auch Codeduplikate, Softwareklonen oder einfach nur Klonen) handelt es sich um ähnliche Abschnitte im Quelltext eines Computerprogramms. Solche Klone sind eine Form von redundanter Code und entstehen vorwiegend durch Kopieren und Einfügen. Da sie negative Auswirkungen auf die Wartung haben, sind Klone ein starker Indikator für mangelnde Qualität.
Property | Value |
---|---|
dbo:abstract | Duplikace kódu je v oboru programování označení pro jev, kdy se ve zdrojovém kódu vyskytuje několik kopií stejné posloupnosti příkazů, které jsou pak označovány za duplicitní kód. Duplikace kódu často vzniká v rámci programování kopírováním. Obvykle je považována za symptom špatného programování a návrhový antivzor neboť je problematická z hlediska dlouhodobé . Například se tímto způsobem může na více míst rozšířit jediná zranitelnost, kterou je následně potřeba správně opravit několikrát. Vizualizace: Nahrazení třikrát kopírovaného kódu voláním funkce, která jej vykonává Refaktorování, které odstraní duplicitní kód, obvykle program zjednoduší i z hlediska ukazatelů typu cyklomatická složitost nebo . Jednodušší kód pak může být snazší z hlediska správy i dalšího vývoje. Proto některé programátorské nástroje nabízejí vyhledávání duplicitního kódu (k tomu mohou sloužit například Rabinův–Karpův algoritmus nebo syntaktické stromy). Duplicitní kód ovšem může být výjimečně i správným řešením: Například pokud má na dané počítačové platformě volání podprogramu velkou režii a přitom není k disposici překladač, který umí podprogramy nebo interpretovat makra, může být u malých, výkonnostně kritických částí programu zduplikování kódu zásadním zlepšením výkonnosti. (cs) إن تكرار الكود هو مصطلح لبرمجة الحاسوب للتعبير عن تعاقب كود مصدري لأكثر من مرة، سواء أن كان في نفس البرنامج أو في برامج مختلفة مملوكة من قبل نفس الكيان. يعتبر تكرار الكود ظاهرة غير مرغوب بها لعدة أسباب. إن الحد الأدنى المطلوب يُطبق على مقدار من الكود التي يجب أن تظهر بشكل متسلسل حتى تعتبر مكررة فضلاً عن اعتبارها متشابهة بمحض الصدفة. تسلسل تكرار الكود أحيانا تُعرف باستنساخات.الطرق التالية تشير إلى كيفية تكرار الكود المتسلسلة: * مماثلة حرف مقابل حرف * مماثلة حرف مقابل حرف مع تجاهل المسافات والتعليقات * مماثلة رمز مقابل رمز * مماثلة رمز مقابل رمز مع تغيرات نسبية (مثل: ادخال/حذف/تعديل الرموز) * مماثل وظيفياً (ar) El código duplicado es un término en programación de computadores para una secuencia de código fuente que ocurre más de una vez, dentro de un programa o a través de diferentes programas, de propiedad, o mantenido, por la misma entidad. El código duplicado es considerado indeseable por una serie de razones. Un requisito mínimo es usualmente aplicado a la cantidad de código que debe aparecer en una secuencia para ser considerado duplicado en vez de coincidentemente similar. Secuencias de código duplicado se conocen como clones de código o simplemente clones. Las siguientes son algunas de las maneras en que dos secuencias de código pueden ser duplicadas una de la otra: * idénticas carácter por carácter * idénticas carácter por carácter cuando son ignorados los caracteres de espacio en blanco y los comentarios * idénticas token-por-token * idénticas token-por-token con variación ocasional (es decir, inserción/eliminación/modificación de tokens) * funcionalmente idénticas (es) In computer programming, duplicate code is a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity. Duplicate code is generally considered undesirable for a number of reasons. A minimum requirement is usually applied to the quantity of code that must appear in a sequence for it to be considered duplicate rather than coincidentally similar. Sequences of duplicate code are sometimes known as code clones or just clones, the automated process of finding duplications in source code is called clone detection. Two code sequences may be duplicates of each other without being character-for-character identical, for example by being character-for-character identical only when white space characters and comments are ignored, or by being token-for-token identical, or token-for-token identical with occasional variation. Even code sequences that are only functionally identical may be considered duplicate code. (en) Bei Quelltextklonen (auch Codeduplikate, Softwareklonen oder einfach nur Klonen) handelt es sich um ähnliche Abschnitte im Quelltext eines Computerprogramms. Solche Klone sind eine Form von redundanter Code und entstehen vorwiegend durch Kopieren und Einfügen. Da sie negative Auswirkungen auf die Wartung haben, sind Klone ein starker Indikator für mangelnde Qualität. (de) La duplication de code en programmation informatique est une erreur courante de conception de logiciels où une suite d'instructions similaires (voire identiques) existe en plusieurs endroits du code source d'un logiciel. (fr) 重複コード(ちょうふくコード、英: duplicate code)とは、ソースコード中に存在する同一、もしくは類似した部分のことである。コードクローンとも呼ばれる。 (ja) 중복 코드는 동일한 실체가 소유하거나 유지 보수하고 있는 하나의 프로그램 내에서 또는 각기 다른 프로그램 내에서 한 번 이상 발생하는 일련의 소스 코드를 가리키는 컴퓨터 프로그래밍 용어이다. 중복 코드는 보통 바람직하지 않는데 여기에는 수많은 이유가 있다. 중복 코드의 최소한의 요건은 동시다발적 유사성 보다는 연속적으로 중복되는 것으로 보이는 코드의 양에 적용된다. 중복 코드의 연속은 코드 클론(code clone), 간단히 클론(clone)이라고도 하며 소스 코드 내에서 중복을 찾는 자동화된 과정은 클론 감지(clone detection)라고 한다. (ko) Дублирование кода — явление в программировании, при котором некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Является симптомом так называемого «дурно пахнущего кода». В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений. Последовательность дубликатов иногда называют клонами. Некоторые причины, по которым две части кода могут считаться дубликатами: * посимвольное совпадение, * посимвольное совпадение, с игнорированием пробельных символов и комментариев, * совпадение по токенам (лексемам), * частичное совпадение по лексемам, * функциональное совпадение. Одна из основных причин проявления дублирования — программирование копированием-вставками, при котором участки кода копируются просто потому, что «это работает». В большинстве случаев такая операция требует небольших изменений переносимого кода, например, переименования переменных или добавление и удаление некоторых участков. В ряде случаев требуется функциональность, которая очень похожа на уже существующую в другой части программы, и программист пишет код, очень близкий к тому, который уже существует. (ru) 代码重复(英文:duplicate code,也叫代码克隆)在程序设计中表示一段源代码在一个程序,或者一个团体所维护的不同程序中重复出现,是不希望出现的现象。为避免巧合,只有一定数量的代码完全相同才能判定为代码重复。重複代碼的段落有時被稱為代碼克隆,自动检测代码重复的过程叫做克隆检测。 (zh) Дублювання коду — термін відомий із програмування, під яким розуміється, що деякі ділянки початкового коду можуть зустрічатися більш, ніж один раз, як всередині однієї, так і в всередині декількох програм. Дублювання є ознакою так званого «поганого коду» або «коду з запахом» (англ. Code smell), тому що саме через дублювання збільшується довжина коду. Послідовності дублікатів іноді називають клонами. (uk) |
dbo:thumbnail | wiki-commons:Special:FilePath/Duplicate_code.gif?width=300 |
dbo:wikiPageExternalLink | http://alexdresko.com/2010/09/09/finding-duplicate-code-in-c-vb-net-aspx-ruby-python-java-c-c-actionscript-or-xaml https://archive.today/20121211121637/http:/students.cis.uab.edu/tairasr/clones/literature/ |
dbo:wikiPageID | 3875705 (xsd:integer) |
dbo:wikiPageLength | 10782 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1085669210 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Brenda_Baker dbr:Anti-pattern dbr:Anti-unification_(computer_science) dbr:Don't_repeat_yourself dbr:Inline_expansion dbc:Source_code dbr:Vulnerability_(computing) dbr:Subroutine dbr:Computer_programming dbr:Plagiarism dbr:Data_deduplication dbr:Locality-sensitive_hashing dbr:Redundant_code dbr:Cyclomatic_complexity dbr:Source_code dbr:Coupling_(computer_programming) dbr:Array_data_structure dbc:Articles_with_example_C_code dbc:Software_metrics dbr:Abstract_syntax_tree dbc:Anti-patterns dbr:Code_refactoring dbr:Code_smell dbr:Cognitive_load dbr:Average dbr:Software_rot dbr:Copy_and_paste_programming dbr:Human_error dbr:Integer dbr:Rabin–Karp_string_search_algorithm dbr:Rule_of_three_(computer_programming) dbr:Snippet_(programming) dbr:Simultaneous_editing dbr:List_of_tools_for_static_code_analysis dbr:Lines_of_code dbr:Token_(parser) dbr:Abstraction_principle_(programming) dbr:File:Duplicate_code.gif |
dbp:wikiPageUsesTemplate | dbt:Reflist dbt:Disputed-inline |
dct:subject | dbc:Source_code dbc:Articles_with_example_C_code dbc:Software_metrics dbc:Anti-patterns |
gold:hypernym | dbr:Term |
rdf:type | yago:WikicatSoftwareDesignPatterns yago:Abstraction100002137 yago:Cognition100023271 yago:Form105930736 yago:PsychologicalFeature100023100 yago:Structure105726345 |
rdfs:comment | Bei Quelltextklonen (auch Codeduplikate, Softwareklonen oder einfach nur Klonen) handelt es sich um ähnliche Abschnitte im Quelltext eines Computerprogramms. Solche Klone sind eine Form von redundanter Code und entstehen vorwiegend durch Kopieren und Einfügen. Da sie negative Auswirkungen auf die Wartung haben, sind Klone ein starker Indikator für mangelnde Qualität. (de) La duplication de code en programmation informatique est une erreur courante de conception de logiciels où une suite d'instructions similaires (voire identiques) existe en plusieurs endroits du code source d'un logiciel. (fr) 重複コード(ちょうふくコード、英: duplicate code)とは、ソースコード中に存在する同一、もしくは類似した部分のことである。コードクローンとも呼ばれる。 (ja) 중복 코드는 동일한 실체가 소유하거나 유지 보수하고 있는 하나의 프로그램 내에서 또는 각기 다른 프로그램 내에서 한 번 이상 발생하는 일련의 소스 코드를 가리키는 컴퓨터 프로그래밍 용어이다. 중복 코드는 보통 바람직하지 않는데 여기에는 수많은 이유가 있다. 중복 코드의 최소한의 요건은 동시다발적 유사성 보다는 연속적으로 중복되는 것으로 보이는 코드의 양에 적용된다. 중복 코드의 연속은 코드 클론(code clone), 간단히 클론(clone)이라고도 하며 소스 코드 내에서 중복을 찾는 자동화된 과정은 클론 감지(clone detection)라고 한다. (ko) 代码重复(英文:duplicate code,也叫代码克隆)在程序设计中表示一段源代码在一个程序,或者一个团体所维护的不同程序中重复出现,是不希望出现的现象。为避免巧合,只有一定数量的代码完全相同才能判定为代码重复。重複代碼的段落有時被稱為代碼克隆,自动检测代码重复的过程叫做克隆检测。 (zh) Дублювання коду — термін відомий із програмування, під яким розуміється, що деякі ділянки початкового коду можуть зустрічатися більш, ніж один раз, як всередині однієї, так і в всередині декількох програм. Дублювання є ознакою так званого «поганого коду» або «коду з запахом» (англ. Code smell), тому що саме через дублювання збільшується довжина коду. Послідовності дублікатів іноді називають клонами. (uk) إن تكرار الكود هو مصطلح لبرمجة الحاسوب للتعبير عن تعاقب كود مصدري لأكثر من مرة، سواء أن كان في نفس البرنامج أو في برامج مختلفة مملوكة من قبل نفس الكيان. يعتبر تكرار الكود ظاهرة غير مرغوب بها لعدة أسباب. إن الحد الأدنى المطلوب يُطبق على مقدار من الكود التي يجب أن تظهر بشكل متسلسل حتى تعتبر مكررة فضلاً عن اعتبارها متشابهة بمحض الصدفة. تسلسل تكرار الكود أحيانا تُعرف باستنساخات.الطرق التالية تشير إلى كيفية تكرار الكود المتسلسلة: (ar) Duplikace kódu je v oboru programování označení pro jev, kdy se ve zdrojovém kódu vyskytuje několik kopií stejné posloupnosti příkazů, které jsou pak označovány za duplicitní kód. Duplikace kódu často vzniká v rámci programování kopírováním. Obvykle je považována za symptom špatného programování a návrhový antivzor neboť je problematická z hlediska dlouhodobé . Například se tímto způsobem může na více míst rozšířit jediná zranitelnost, kterou je následně potřeba správně opravit několikrát. Vizualizace: Nahrazení třikrát kopírovaného kódu voláním funkce, která jej vykonává (cs) In computer programming, duplicate code is a sequence of source code that occurs more than once, either within a program or across different programs owned or maintained by the same entity. Duplicate code is generally considered undesirable for a number of reasons. A minimum requirement is usually applied to the quantity of code that must appear in a sequence for it to be considered duplicate rather than coincidentally similar. Sequences of duplicate code are sometimes known as code clones or just clones, the automated process of finding duplications in source code is called clone detection. (en) El código duplicado es un término en programación de computadores para una secuencia de código fuente que ocurre más de una vez, dentro de un programa o a través de diferentes programas, de propiedad, o mantenido, por la misma entidad. El código duplicado es considerado indeseable por una serie de razones. Un requisito mínimo es usualmente aplicado a la cantidad de código que debe aparecer en una secuencia para ser considerado duplicado en vez de coincidentemente similar. Secuencias de código duplicado se conocen como clones de código o simplemente clones. (es) Дублирование кода — явление в программировании, при котором некоторые участки исходного кода могут встречаться более чем однажды, как внутри одной, так и в нескольких программных сущностях. Является симптомом так называемого «дурно пахнущего кода». В первую очередь потому, что увеличивается его длина; именно из-за дублирования, а не из-за совпадений. Последовательность дубликатов иногда называют клонами. Некоторые причины, по которым две части кода могут считаться дубликатами: (ru) |
rdfs:label | تكرار الكود (ar) Duplikace kódu (cs) Quelltextklon (de) Código duplicado (es) Duplicate code (en) Duplication de code (fr) 重複コード (ja) 중복 코드 (ko) Дублирование кода (ru) 代码重复 (zh) Дублювання коду (uk) |
owl:sameAs | freebase:Duplicate code wikidata:Duplicate code dbpedia-ar:Duplicate code dbpedia-cs:Duplicate code dbpedia-de:Duplicate code dbpedia-es:Duplicate code dbpedia-fa:Duplicate code dbpedia-fr:Duplicate code dbpedia-hu:Duplicate code dbpedia-ja:Duplicate code dbpedia-ko:Duplicate code http://lt.dbpedia.org/resource/Pasikartojantis_kodas dbpedia-ru:Duplicate code dbpedia-uk:Duplicate code dbpedia-zh:Duplicate code https://global.dbpedia.org/id/AMrZ |
prov:wasDerivedFrom | wikipedia-en:Duplicate_code?oldid=1085669210&ns=0 |
foaf:depiction | wiki-commons:Special:FilePath/Duplicate_code.gif |
foaf:isPrimaryTopicOf | wikipedia-en:Duplicate_code |
is dbo:wikiPageRedirects of | dbr:Code_clone dbr:Duplicate_code_detection dbr:Code_duplication dbr:Clone_Detection dbr:Clone_detection |
is dbo:wikiPageWikiLink of | dbr:Biopython dbr:Brenda_Baker dbr:DMS_Software_Reengineering_Toolkit dbr:Decomposition_(computer_science) dbr:Design_smell dbr:Dynamic_compilation dbr:Software_quality dbr:Generic_programming dbr:Object-oriented_programming dbr:Pytest dbr:Function_(computer_programming) dbr:Google_PageSpeed_Tools dbr:Content_similarity_detection dbr:Copy-and-paste_programming dbr:Cruft dbr:Common_subexpression_elimination dbr:Strategy_pattern dbr:Test-driven_development dbr:Data_access_object dbr:Code_clone dbr:Jewels_of_Stringology dbr:Redundant_code dbr:PMD_(software) dbr:Fork_(software_development) dbr:TeamCity dbr:Duplication dbr:BioPHP dbr:Code_refactoring dbr:Code_smell dbr:Programming_tool dbr:Aspect_weaver dbr:SonarQube dbr:SourceMeter dbr:Source_lines_of_code dbr:Freedup dbr:Netfilter dbr:Nftables dbr:List_of_tools_for_static_code_analysis dbr:Switch_statement dbr:Parameter_word dbr:Visual_Expert dbr:Duplicate_code_detection dbr:Code_duplication dbr:Clone_Detection dbr:Clone_detection |
is foaf:primaryTopic of | wikipedia-en:Duplicate_code |