{"id":8668,"date":"2019-07-18T11:07:20","date_gmt":"2019-07-18T09:07:20","guid":{"rendered":"https:\/\/www.itech-progress.com\/?p=8668"},"modified":"2026-04-07T10:21:31","modified_gmt":"2026-04-07T08:21:31","slug":"anti-pattern-lava-flow","status":"publish","type":"post","link":"https:\/\/www.itech-progress.com\/en\/anti-pattern-lava-flow\/","title":{"rendered":"Anti Pattern: Lava Flow"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;3.22.7&#8243; min_height=&#8221;439px&#8221; custom_margin=&#8221;||-55px|||&#8221; custom_padding=&#8221;0px||0px|||&#8221;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;3.25&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; min_height=&#8221;416px&#8221; custom_margin=&#8221;|auto|-61px|auto||&#8221; custom_padding=&#8221;||50px|||&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;3.27.4&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_margin=&#8221;||-2px|||&#8221;]<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 18px;\">Endlich ist er da! Der zweite Beitrag in unserer Anti-Pattern Reihe, in der wir g\u00e4ngige Fehler aus der Softwaretechnik aufzeigen und Tipps geben, wie man sie zuk\u00fcnftig vermeidet beziehungsweise nachtr\u00e4glich behebt. Diesmal geht es etwas hei\u00dfer zu, denn wir reden \u00fcber Lava&#8230;genauer gesagt \u00fcber Lava Flow!<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 18px;\">Bei unserer 3-t\u00e4gigen\u00a0<\/span><span style=\"font-size: 18px;\">Grundausbildung f\u00fcr Softwarearchitekten, dem <a href=\"https:\/\/www.itech-progress.com\/portfolio-item\/isaqb-foundation-level\/\">Foundation Level Training<\/a>, bekommst du das n\u00f6tige Know How, um von Anfang an gute und \u00fcberschaubare L\u00f6sungsmuster zu entwickeln. Wer eine bestehende Architektur systematisch verbessern m\u00f6chte, dem empfehlen wir unser Advanced Level Training <a href=\"https:\/\/www.itech-progress.com\/portfolio-item\/isaqb-improve\/\">IMPROVE &#8211; Evolution und Verbesserung von Softwarearchitekturen<\/a>.<\/span><\/p>\n<p style=\"text-align: justify;\"><strong>Beschreibung<\/strong><\/p>\n<p style=\"text-align: justify;\">Man spricht von einem Lava Flow, wenn sich im Laufe der Zeit immer mehr toter Code in einer Anwendung anh\u00e4uft, der eigentlich nicht mehr oder kaum noch gebraucht wird. Dieser tote Code zieht sich dann wie z\u00e4he Lava durch das System.<\/p>\n<p style=\"text-align: justify;\"><strong>Auswirkungen<\/strong><\/p>\n<p style=\"text-align: justify;\">Dieser \u201etote Code\u201c steigert die Komplexit\u00e4t der Anwendung und kann dazu f\u00fchren, dass irgendwann niemand mehr wei\u00df, welche Codefragmente wie bereinigt werden k\u00f6nnen. Obendrein kann dieser Code wertvolle Ressourcen verschwenden und sich negativ auf die Performance auswirken.<\/p>\n<p style=\"text-align: justify;\">Typische Merkmale eines Lava Flows sind undokumentierte,\u00a0 \u201ewichtig aussehende\u201c Methoden oder Klassen, deren eigentliche Funktion nicht ersichtlich sind, oder Stellen im Code mit Hinweisen wie z.B. \u201eto be replaced\u201c.<\/p>\n<p style=\"text-align: justify;\"><strong>L\u00f6sung<\/strong><\/p>\n<p style=\"text-align: justify;\">Der beste Weg zur Vermeidung von Lava Flow ist eine klare Architektur, die vor Beginn der eigentlichen Implementierung entworfen und in einem Configuration Management Process gesichert werden sollte. Das Configuration Management gibt Informationen \u00fcber verschiedene Versionen und verwendete Tools und dokumentiert \u00c4nderungen und deren Auswirkungen auf andere Programmteile.<\/p>\n<p style=\"text-align: justify;\"><span style=\"font-size: 18px;\">Hilfreich k\u00f6nnen auch Tools zur Abh\u00e4ngigkeitsanalyse sein, wie z.B. JarAnalyzer oder JDepend, die statische Abh\u00e4ngigkeiten zwischen Java-Klassen ermitteln.<\/span><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Endlich ist er da! Der zweite Beitrag in unserer Anti-Pattern Reihe, in der wir g\u00e4ngige Fehler aus der Softwaretechnik aufzeigen und Tipps geben, wie man sie zuk\u00fcnftig vermeidet beziehungsweise nachtr\u00e4glich behebt. Diesmal geht es etwas hei\u00dfer zu, denn wir reden \u00fcber Lava&#8230;genauer gesagt \u00fcber Lava Flow! Bei unserer 3-t\u00e4gigen\u00a0Grundausbildung f\u00fcr Softwarearchitekten, dem Foundation Level Training, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[565],"tags":[],"class_list":["post-8668","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwareentwicklung"],"_links":{"self":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/8668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/comments?post=8668"}],"version-history":[{"count":4,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/8668\/revisions"}],"predecessor-version":[{"id":53857,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/posts\/8668\/revisions\/53857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/media\/14487"}],"wp:attachment":[{"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/media?parent=8668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/categories?post=8668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itech-progress.com\/en\/wp-json\/wp\/v2\/tags?post=8668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}