Refactoring

wie Sie das Design vorhandener Software verbessern

Author: Martin Fowler

Publisher: N.A

ISBN: 9783827322784

Category:

Page: 440

View: 450

Refactoring

Improving the Design of Existing Code

Author: Martin Fowler,Kent Beck,John Brant,William Opdyke,Don Roberts

Publisher: Addison-Wesley

ISBN: 013306526X

Category: Computers

Page: 455

View: 5517

As the application of object technology--particularly the Java programming language--has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, "non-optimal" applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as "refactoring," these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use. . .until now. In Refactoring: Improving the Design of Existing Code, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process. With proper training a skilled system designer can take a bad design and rework it into well-designed, robust code. In this book, Martin Fowler shows you where opportunities for refactoring typically can be found, and how to go about reworking a bad design into a good one. Each refactoring step is simple--seemingly too simple to be worth doing. Refactoring may involve moving a field from one class to another, or pulling some code out of a method to turn it into its own method, or even pushing some code up or down a hierarchy. While these individual steps may seem elementary, the cumulative effect of such small changes can radically improve the design. Refactoring is a proven way to prevent software decay. In addition to discussing the various techniques of refactoring, the author provides a detailed catalog of more than seventy proven refactorings with helpful pointers that teach you when to apply them; step-by-step instructions for applying each refactoring; and an example illustrating how the refactoring works. The illustrative examples are written in Java, but the ideas are applicable to any object-oriented programming language.

Refactoring to patterns

Author: Joshua Kerievsky

Publisher: Pearson Deutschland GmbH

ISBN: 9783827322623

Category: Software patterns

Page: 384

View: 6685

Clean Architecture

Das Praxishandbuch für gutes Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturen

Author: Robert C. Martin

Publisher: MITP-Verlags GmbH & Co. KG

ISBN: 3958457266

Category: Computers

Page: 370

View: 1712

Effektives Arbeiten mit Legacy Code

Refactoring und Testen bestehender Software

Author: Michael C. Feathers

Publisher: MITP-Verlags GmbH & Co. KG

ISBN: 395845903X

Category: Computers

Page: 432

View: 9695

Entwurfsmuster

Elemente wiederverwendbarer objektorientierter Software

Author: Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides

Publisher: Pearson Deutschland GmbH

ISBN: 9783827330437

Category: Agile software development

Page: 479

View: 4530

JUnit

kurz & gut

Author: Kent Beck

Publisher: O'Reilly Verlag DE

ISBN: 9783897215078

Category: JAVA (Programming language)

Page: 94

View: 6199

Extreme Programming

die revolutionäre Methode für Softwareentwicklung in kleinen Teams ; [das Manifest]

Author: Kent Beck

Publisher: Pearson Deutschland GmbH

ISBN: 9783827321398

Category:

Page: 186

View: 1812

Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code

Deutsche Ausgabe

Author: Robert C. Martin

Publisher: MITP-Verlags GmbH & Co. KG

ISBN: 3826696387

Category: Computers

Page: 480

View: 2894

h2> Kommentare, Formatierung, Strukturierung Fehler-Handling und Unit-Tests Zahlreiche Fallstudien, Best Practices, Heuristiken und Code Smells Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code Aus dem Inhalt: Lernen Sie, guten Code von schlechtem zu unterscheiden Sauberen Code schreiben und schlechten Code in guten umwandeln Aussagekräftige Namen sowie gute Funktionen, Objekte und Klassen erstellen Code so formatieren, strukturieren und kommentieren, dass er bestmöglich lesbar ist Ein vollständiges Fehler-Handling implementieren, ohne die Logik des Codes zu verschleiern Unit-Tests schreiben und Ihren Code testgesteuert entwickeln Selbst schlechter Code kann funktionieren. Aber wenn der Code nicht sauber ist, kann er ein Entwicklungsunternehmen in die Knie zwingen. Jedes Jahr gehen unzählige Stunden und beträchtliche Ressourcen verloren, weil Code schlecht geschrieben ist. Aber das muss nicht sein. Mit Clean Code präsentiert Ihnen der bekannte Software-Experte Robert C. Martin ein revolutionäres Paradigma, mit dem er Ihnen aufzeigt, wie Sie guten Code schreiben und schlechten Code überarbeiten. Zusammen mit seinen Kollegen von Object Mentor destilliert er die besten Praktiken der agilen Entwicklung von sauberem Code zu einem einzigartigen Buch. So können Sie sich die Erfahrungswerte der Meister der Software-Entwicklung aneignen, die aus Ihnen einen besseren Programmierer machen werden – anhand konkreter Fallstudien, die im Buch detailliert durchgearbeitet werden. Sie werden in diesem Buch sehr viel Code lesen. Und Sie werden aufgefordert, darüber nachzudenken, was an diesem Code richtig und falsch ist. Noch wichtiger: Sie werden herausgefordert, Ihre professionellen Werte und Ihre Einstellung zu Ihrem Beruf zu überprüfen. Clean Code besteht aus drei Teilen:Der erste Teil beschreibt die Prinzipien, Patterns und Techniken, die zum Schreiben von sauberem Code benötigt werden. Der zweite Teil besteht aus mehreren, zunehmend komplexeren Fallstudien. An jeder Fallstudie wird aufgezeigt, wie Code gesäubert wird – wie eine mit Problemen behaftete Code-Basis in eine solide und effiziente Form umgewandelt wird. Der dritte Teil enthält den Ertrag und den Lohn der praktischen Arbeit: ein umfangreiches Kapitel mit Best Practices, Heuristiken und Code Smells, die bei der Erstellung der Fallstudien zusammengetragen wurden. Das Ergebnis ist eine Wissensbasis, die beschreibt, wie wir denken, wenn wir Code schreiben, lesen und säubern. Dieses Buch ist ein Muss für alle Entwickler, Software-Ingenieure, Projektmanager, Team-Leiter oder Systemanalytiker, die daran interessiert sind, besseren Code zu produzieren. Über den Autor: Robert C. »Uncle Bob« Martin entwickelt seit 1970 professionell Software. Seit 1990 arbeitet er international als Software-Berater. Er ist Gründer und Vorsitzender von Object Mentor, Inc., einem Team erfahrener Berater, die Kunden auf der ganzen Welt bei der Programmierung in und mit C++, Java, C#, Ruby, OO, Design Patterns, UML sowie Agilen Methoden und eXtreme Programming helfen.

Clean Coder

Author: Robert C. Martin

Publisher: mitp Verlags GmbH & Co. KG

ISBN: 3826632087

Category: Computers

Page: 216

View: 3276

Verhaltensregeln für professionelle Programmierer Erfolgreiche Programmierer haben eines gemeinsam: Die Praxis der Software-Entwicklung ist ihnen eine Herzensangelegenheit. Auch wenn sie unter einem nicht nachlassenden Druck arbeiten, setzen sie sich engagiert ein. Software-Entwicklung ist für sie eine Handwerkskunst. In Clean Coder stellt der legendäre Software-Experte Robert C. Martin die Disziplinen, Techniken, Tools und Methoden vor, die Programmierer zu Profis machen. Dieses Buch steckt voller praktischer Ratschläge und behandelt alle wichtigen Themen vom professionellen Verhalten und Zeitmanagement über die Aufwandsschätzung bis zum Refactoring und Testen. Hier geht es um mehr als nur um Technik: Es geht um die innere Haltung. Martin zeigt, wie Sie sich als Software-Entwickler professionell verhalten, gut und sauber arbeiten und verlässlich kommunizieren und planen. Er beschreibt, wie Sie sich schwierigen Entscheidungen stellen und zeigt, dass das eigene Wissen zu verantwortungsvollem Handeln verpflichtet. In diesem Buch lernen Sie: Was es bedeutet, sich als echter Profi zu verhalten Wie Sie mit Konflikten, knappen Zeitplänen und unvernünftigen Managern umgehen Wie Sie beim Programmieren im Fluss bleiben und Schreibblockaden überwinden Wie Sie mit unerbittlichem Druck umgehen und Burnout vermeiden Wie Sie Ihr Zeitmanagement optimieren Wie Sie für Umgebungen sorgen, in denen Programmierer und Teams wachsen und sich wohlfühlen Wann Sie Nein sagen sollten – und wie Sie das anstellen Wann Sie Ja sagen sollten – und was ein Ja wirklich bedeutet Großartige Software ist etwas Bewundernswertes: Sie ist leistungsfähig, elegant, funktional und erfreut bei der Arbeit sowohl den Entwickler als auch den Anwender. Hervorragende Software wird nicht von Maschinen geschrieben, sondern von Profis, die sich dieser Handwerkskunst unerschütterlich verschrieben haben. Clean Coder hilft Ihnen, zu diesem Kreis zu gehören. Über den Autor: Robert C. Uncle Bob Martin ist seit 1970 Programmierer und bei Konferenzen in aller Welt ein begehrter Redner. Zu seinen Büchern gehören Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code und Agile Software Development: Principles, Patterns, and Practices. Als überaus produktiver Autor hat Uncle Bob Hunderte von Artikeln, Abhandlungen und Blogbeiträgen verfasst. Er war Chefredakteur bei The C++ Report und der erste Vorsitzende der Agile Alliance. Martin gründete und leitet die Firma Object Mentor, Inc., die sich darauf spezialisiert hat, Unternehmen bei der Vollendung ihrer Projekte behilflich zu sein.

Objektorientierte Analyse & Design von Kopf bis Fuss

Author: Brett D. McLaughlin,Gary Pollice,David West

Publisher: O'Reilly Germany

ISBN: 3955619478

Category: Computers

Page: 632

View: 327

Kluge Bücher über Objektorientierte Analyse & Design gibt es viele. Leider versteht man die meisten erst, wenn man selbst schon Profi-Entwickler ist... Und was machen all die Normalsterblichen, die natürlich davon gehört haben, dass OOA&D dazu beiträgt, kontinuierlich tolle Software zu schreiben, Software, die Chef und Kunden glücklich macht - wenn sie aber nicht wissen, wie sie anfangen sollen? Sie könnten damit beginnen, dieses Buch zu lesen! Denn Objektorientierte Analyse & Design von Kopf bis Fuß zeigt Ihnen Schritt für Schritt, wie Sie richtige OO-Software analysieren, entwerfen und entwickeln. Software, die sich leicht wiederverwenden, warten und erweitern lässt. Software, die keine Kopfschmerzen bereitet. Software, der Sie neue Features spendieren können, ohne die existierende Funktionalität zu gefährden. Sie lernen, Ihre Anwendungen flexibel zu halten, indem Sie OO-Prinzipien wie Kapselung und Delegation anwenden. Sie lernen, die Wiederverwendung Ihrer Software dadurch zu begünstigen, dass Sie das OCP (das Open-Closed-Prinzip) und das SRP (das Single-Responsibility-Prinzip) befolgen. Sie lernen, wie sich verschiedene Entwurfsmuster, Entwicklungsansätze und Prinzipien zu einem echten OOA&D-Projektlebenszyklus ergänzen, UML, Anwendungsfälle und -diagramme zu verwenden, damit auch alle Beteiligten klar miteinander kommunizieren können, und Sie die Software abliefern, die gewünscht wird. Diesem Buch wurden die neuesten Erkenntnisse aus der Lerntheorie und der Kognitionswissenschaft zugrunde gelegt - Sie können davon ausgehen, dass Sie nicht nur schnell vorankommen, sondern dabei auch noch eine Menge Spaß haben!

Constraint-Programmierung

Grundlagen und Anwendungen

Author: Thom Frühwirth,Slim Abdennadher

Publisher: Springer-Verlag

ISBN: 3642591159

Category: Mathematics

Page: 165

View: 4198

Das Buch gibt einen kompakten, aber umfassenden Überblick über das Problemlösen und Programmieren mit "Constraints" (Randbedingungen). Diese aktuelle Programmiermethodik ermöglicht es, Aufgaben direkt zu formulieren und effizient zu lösen. Sie gewinnt zusehends Bedeutung in Anwendungsbereichen wie Kombinatorische Suchprobleme (z.B. Zeitplanen, Layout-Optimierung), Berechnungen (Finanzanalyse), Simulation (Hardware-Verifikation) oder allgemein Schließen und Rechnen mit ungenauer oder unvollständiger Information (z.B. Kostenschätzung). Die theoretisch fundierte Darstellung mit Aufgaben und Anwendungsbeispielen aus der Praxis ist in der Lehre erprobt, aber auch für Forscher und Praktiker von Nutzen.

Essential Skills for the Agile Developer

A Guide to Better Programming and Design

Author: Alan Shalloway,Scott Bain,Ken Pugh,Amir Kolsky

Publisher: Addison-Wesley Professional

ISBN: 0321700430

Category: Computers

Page: 272

View: 6501

Agile has become today’s dominant software development paradigm, but agile methods remain difficult to measure and improve. Essential Skills for the Agile Developer fills this gap from the bottom up, teaching proven techniques for assessing and optimizing both individual and team agile practices. Written by four principals of Net Objectives—one of the world’s leading agile training and consulting firms—this book reflects their unsurpassed experience helping organizations transition to agile. It focuses on the specific actions and insights that can deliver the greatest design and programming improvements with economical investment. The authors reveal key factors associated with successful agile projects and offer practical ways to measure them. Through actual examples, they address principles, attitudes, habits, technical practices, and design considerations—and above all, show how to bring all these together to deliver higher-value software. Using the authors’ techniques, managers and teams can optimize the whole organization and the whole product across its entire lifecycle. Essential Skills for the Agile Developer shows how to Perform programming by intention Separate use from construction Consider testability before writing code Avoid over- and under-design Succeed with Acceptance Test Driven Development (ATDD) Minimize complexity and rework Use encapsulation more effectively and systematically Know when and how to use inheritance Prepare for change more successfully Perform continuous integration more successfully Master powerful best practices for design and refactoring

Agile Software Development in the Large

Diving Into the Deep

Author: Jutta Eckstein

Publisher: Addison-Wesley

ISBN: 0133492370

Category: Computers

Page: 246

View: 9192

This is the digital version of the printed book (Copyright © 2004). Who Says Large Teams Can’t Handle Agile Software Development? Agile or "lightweight" processes have revolutionized the software development industry. They're faster and more efficient than traditional software development processes. They enable developers to embrace requirement changes during the project deliver working software in frequent iterations focus on the human factor in software development Unfortunately, most agile processes are designed for small or mid-sized software development projects—bad news for large teams that have to deal with rapid changes to requirements. That means all large teams! With Agile Software Development in the Large, Jutta Eckstein—a leading speaker and consultant in the agile community—shows how to scale agile processes to teams of up to 200. The same techniques are also relevant to teams of as few as 10 developers, especially within large organizations. Topics include the agile value system as used in large teams the impact of a switch to agile processes the agile coordination of several sub-teams the way project size and team size influence the underlying architecture Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development. Stop getting frustrated with inflexible processes that cripple your large projects! Use this book to harness the efficiency and adaptability of agile software development.

Sieben Wochen, sieben Sprachen (Prags)

Author: Bruce A. Tate

Publisher: O'Reilly Germany

ISBN: 3897213230

Category: Computers

Page: 360

View: 9699

Mit diesen sieben Sprachen erkunden Sie die wichtigsten Programmiermodelle unserer Zeit. Lernen Sie die dynamische Typisierung kennen, die Ruby, Python und Perl so flexibel und verlockend macht. Lernen Sie das Prototyp-System verstehen, das das Herzstück von JavaScript bildet. Erfahren Sie, wie das Pattern Matching in Prolog die Entwicklung von Scala und Erlang beeinflusst hat. Entdecken Sie, wie sich die rein funktionale Programmierung in Haskell von der Lisp-Sprachfamilie, inklusive Clojure, unterscheidet. Erkunden Sie die parallelen Techniken, die das Rückgrat der nächsten Generation von Internet-Anwendungen bilden werden. Finden Sie heraus, wie man Erlangs "Lass es abstürzen"-Philosophie zum Aufbau fehlertoleranter Systeme nutzt. Lernen Sie das Aktor-Modell kennen, das das parallele Design bei Io und Scala bestimmt. Entdecken Sie, wie Clojure die Versionierung nutzt, um einige der schwierigsten Probleme der Nebenläufigkeit zu lösen. Hier finden Sie alles in einem Buch. Nutzen Sie die Konzepte einer Sprache, um kreative Lösungen in einer anderen Programmiersprache zu finden – oder entdecken Sie einfach eine Sprache, die Sie bisher nicht kannten. Man kann nie wissen – vielleicht wird sie sogar eines ihrer neuen Lieblingswerkzeuge.