Refactoring

wie Sie das Design vorhandener Software verbessern

Author: Martin Fowler

Publisher: N.A

ISBN: 9783827322784

Category:

Page: 440

View: 9981


Professional Refactoring in Visual Basic

Author: Danijel Arsenovski

Publisher: John Wiley & Sons

ISBN: 0470372540

Category: Computers

Page: 517

View: 7654

In this one-of-a-kind book, Microsoft MVP Danijel Arsenovski shows you how to utilize the power of refactoring to improve the design of your existing code and become more efficient and productive. You?ll discover how to perform unit testing, refactoring to patterns, and refactoring to upgrade legacy Visual Basic code. As you progress through the chapters, you?ll build a prototype application from scratch as Arsenovski walks you step-by-step through each process while offering expert coding tips.

Entwurfsmuster

Elemente wiederverwendbarer objektorientierter Software

Author: N.A

Publisher: Pearson Deutschland GmbH

ISBN: 9783827328243

Category:

Page: 479

View: 7095


Elemental Design Patterns

Author: Jason McC. Smith

Publisher: Addison-Wesley

ISBN: 0321712536

Category: Computers

Page: 368

View: 7137

2012 Jolt Award Finalist! Even experienced software professionals find it difficult to apply patterns in ways that deliver substantial value to their organizations. In Elemental Design Patterns, Jason McC. Smith addresses this problem head-on, helping developers harness the true power of patterns, map them to real software implementations more cleanly and directly, and achieve far better results. Part tutorial, part example-rich cookbook, this resource will help developers, designers, architects, and analysts successfully use patterns with a wide variety of languages, environments, and problem domains. Every bit as important, it will give them a deeper appreciation for the work they’ve chosen to pursue. Smith presents the crucial missing link that patterns practitioners have needed: a foundational collection of simple core patterns that are broken down to their core elements. If you work in software, you may already be using some of these elemental design patterns every day. Presenting them in a comprehensive methodology for the first time, Smith names them, describes them, explains their importance, helps you compare and choose among them, and offers a framework for using them together. He also introduces an innovative Pattern Instance Notation diagramming system that makes it easier to work with patterns at many levels of granularity, regardless of your goals or role. If you’re new to patterns, this example-rich approach will help you master them piece by piece, logically and intuitively. If you’re an experienced patterns practitioner, Smith follows the Gang of Four format you’re already familiar with, explains how his elemental patterns can be composed into conventional design patterns, and introduces highly productive new ways to apply ideas you’ve already encountered. No matter what your level of experience, this infinitely practical book will help you transform abstract patterns into high-value solutions.

Pro Agile .NET Development with SCRUM

Author: Scott Millett,Jerrel Blankenship,Matthew Bussa

Publisher: Apress

ISBN: 1430235349

Category: Computers

Page: 392

View: 790

Pro Agile .NET Development with SCRUM guides you through a real-world ASP.NET project and shows how agile methodology is put into practice. There is plenty of literature on the theory behind agile methodologies, but no book on the market takes the concepts of agile practices and applies these in a practical manner to an end-to-end ASP.NET project, especially the estimating, requirements and management aspects of a project. Pro Agile .NET Development with SCRUM takes you through the initial stages of a project—gathering requirements and setting up an environment—through to the development and deployment stages using an agile iterative approach: namely, Scrum. In the book, you'll focus on delivering an enterprise-level ASP.NET project. Each chapter is in iterations or sprints, putting into practice the features of agile—user stories, test-driven development (TDD), behavior-driven development (BDD), continuous integration, user acceptance testing, extreme programming, Scrum, design patterns and principles, inside-out development, lean developent, KanBan boards, and more. An appendix features code katas designed for the reader to get up-to-speed with some of the features of extreme programming, while also showcasing popular open-source frameworks to assist in automated testing and mocking. In addition, popular open-source architectural foundation projects such as S#arp and NCommons are demonstrated to allow you to base future projects on these frameworks, which already have many best-practice design patterns and principles built in.

Extreme Programming and Agile Processes in Software Engineering

4th International Conference, XP 2003, Genova, Italy, May 25-29, 2003, Proceedings

Author: Italy) Xp 200 (2003 Genoa,Michele Marchesi,Giancarlo Succi

Publisher: Springer Science & Business Media

ISBN: 3540402152

Category: Business & Economics

Page: 464

View: 5409

This book constitutes the refereed proceedings of the 4th International Conference on Extreme Programming and Agile Processes in Software Engineering, XP 2003, held in Genova, Italy in May 2003. The 33 revised full papers presented together with experience reports, research reports, abstracts from an educational symposium and a PhD symposium, as well as panel statements were carefully reviewed and selected for inclusion in the book. The papers are organized in topical sections on managing agile processes, methodological issues, extending agile methodologies and XP, methods and tools, teaching and education aspects, testing, pair programming, and other XP practices.

xUnit Test Patterns

Refactoring Test Code

Author: Gerard Meszaros

Publisher: Pearson Education

ISBN: 0132797461

Category: Computers

Page: 944

View: 3965

Automated testing is a cornerstone of agile development. An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. xUnit Test Patterns is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatable--and far more cost-effective. Loaded with information, this book feels like three books in one. The first part is a detailed tutorial on test automation that covers everything from test strategy to in-depth test coding. The second part, a catalog of 18 frequently encountered "test smells," provides trouble-shooting guidelines to help you determine the root cause of problems and the most applicable patterns. The third part contains detailed descriptions of each pattern, including refactoring instructions illustrated by extensive code samples in multiple programming languages.

PHP Objects, Patterns, and Practice

Author: Matt Zandstra

Publisher: Apress

ISBN: 1430260327

Category: Computers

Page: 488

View: 7457

PHP Objects Patterns and Practice, Fourth Edition is revised and updated throughout. The book begins by covering PHP's object-oriented features. It introduces key topics including class declaration, inheritance, reflection and much more. These provide the fundamentals of the PHP's support for objects. It also introduces some principles of design. This edition introduces new object relevant features such as traits, reflection extension additions, callable type hinting, improvements to exception handling, and many smaller language enhancements. The next section is devoted to design patterns. These describe common problems and their solutions. The section describes the design principles that make patterns powerful. It covers many of the classic design patterns and includes chapters on enterprise and database patterns. The last segment of the book covers the tools and practices that can help turn great code into a successful project. The section shows how to manage multiple developers and releases with git, how to build and install using Phing and PEAR. It also explores strategies for automated testing and build. In addition to discussing the latest developments in build, test, and continuous integration, this section keeps pace with best practice in version control by focusing on Git, increasingly the developer's system of choice. Taken together these three elements: object fundamentals, design principles, and best practice will help the reader develop elegant and rock solid systems. PHP Objects and Patterns: Describes and demonstrates PHP's built-in object-oriented features Breaks down the principles of object-oriented design, explaining key design patterns using practical examples. Discusses the tools and practices necessary for developing, testing and deploying exemplary applications.

Agile Adoption Patterns

A Roadmap to Organizational Success

Author: Amr Elssamadisy

Publisher: Addison-Wesley Professional

ISBN: 9780132702478

Category: Computers

Page: 408

View: 8503

Proven Patterns and Techniques for Succeeding with Agile in Your Organization Agile methods promise to help you create software that delivers far more business value–and do it faster, at lower cost, and with less pain. However, many organizations struggle with implementation and leveraging these methods to their full benefit. In this book, Amr Elssamadisy identifies the powerful lessons that have been learned about successfully moving to agile and distills them into 30 proven agile adoption patterns. Elssamadisy walks you through the process of defining your optimal agile adoption strategy with case studies and hands-on exercises that illuminate the key points. He systematically examines the most common obstacles to agile implementation, identifying proven solutions. You’ll learn where to start, how to choose the best agile practices for your business and technical environment, and how to adopt agility incrementally, building on steadily growing success.

Entwurfsmuster verstehen

eine neue Perspektive auf objektorientierte Software-Entwicklung ; [eine neue Perspektive für das objektorientierte Design ; robuste und zuverlässige Softwarwe mithilfe von Entwurfsmustern entwickeln ; Design patterns sinnvoll kombinieren]

Author: Alan Shalloway,James Trott

Publisher: N.A

ISBN: 9783826613456

Category:

Page: 319

View: 4296


Central European Functional Programming School

5th Summer School, CEFP 2013, Cluj-Napoca, Romania, July 8-20, 2013, Revised Selected Papers

Author: Viktória Zsók,Zoltán Horváth,Lehel Csató

Publisher: Springer

ISBN: 3319159402

Category: Computers

Page: 507

View: 1055

This volume presents the revised lecture notes of selected talks given at the Fifth Central European Functional Programming School, CEFP 2013, held in July 2013 in Cluj-Napoca, Romania. The 14 revised full papers presented were carefully reviewed and selected. The lectures cover a wide range of distributed and multicore functional programming subjects. The last 5 papers are selected papers of the PhD Workshop organized for the participants of the summer school.

Refactoring for Software Design Smells

Managing Technical Debt

Author: Girish Suryanarayana,Ganesh Samarthyam,Tushar Sharma

Publisher: Morgan Kaufmann

ISBN: 0128016469

Category: Computers

Page: 258

View: 3412

Awareness of design smells – indicators of common design problems – helps developers or software engineers understand mistakes made while designing, what design principles were overlooked or misapplied, and what principles need to be applied properly to address those smells through refactoring. Developers and software engineers may "know" principles and patterns, but are not aware of the "smells" that exist in their design because of wrong or mis-application of principles or patterns. These smells tend to contribute heavily to technical debt – further time owed to fix projects thought to be complete – and need to be addressed via proper refactoring. Refactoring for Software Design Smells presents 25 structural design smells, their role in identifying design issues, and potential refactoring solutions. Organized across common areas of software design, each smell is presented with diagrams and examples illustrating the poor design practices and the problems that result, creating a catalog of nuggets of readily usable information that developers or engineers can apply in their projects. The authors distill their research and experience as consultants and trainers, providing insights that have been used to improve refactoring and reduce the time and costs of managing software projects. Along the way they recount anecdotes from actual projects on which the relevant smell helped address a design issue. Contains a comprehensive catalog of 25 structural design smells (organized around four fundamental design principles) that contribute to technical debt in software projects Presents a unique naming scheme for smells that helps understand the cause of a smell as well as points toward its potential refactoring Includes illustrative examples that showcase the poor design practices underlying a smell and the problems that result Covers pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice Presents insightful anecdotes and case studies drawn from the trenches of real-world projects

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: 3590

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.

Rails AntiPatterns

Best Practice Ruby on Rails Refactoring

Author: Chad Pytel,Tammer Saleh

Publisher: Addison-Wesley Professional

ISBN: 9780132660068

Category: Computers

Page: 336

View: 4327

The Complete Guide to Avoiding and Fixing Common Rails 3 Code and Design Problems As developers worldwide have adopted the powerful Ruby on Rails web framework, many have fallen victim to common mistakes that reduce code quality, performance, reliability, stability, scalability, and maintainability. Rails™ AntiPatterns identifies these widespread Rails code and design problems, explains why they’re bad and why they happen—and shows exactly what to do instead. The book is organized into concise, modular chapters—each outlines a single common AntiPattern and offers detailed, cookbook-style code solutions that were previously difficult or impossible to find. Leading Rails developers Chad Pytel and Tammer Saleh also offer specific guidance for refactoring existing bad code or design to reflect sound object-oriented principles and established Rails best practices. With their help, developers, architects, and testers can dramatically improve new and existing applications, avoid future problems, and establish superior Rails coding standards throughout their organizations. This book will help you understand, avoid, and solve problems with Model layer code, from general object-oriented programming violations to complex SQL and excessive redundancy Domain modeling, including schema and database issues such as normalization and serialization View layer tools and conventions Controller-layer code, including RESTful code Service-related APIs, including timeouts, exceptions, backgrounding, and response codes Third-party code, including plug-ins and gems Testing, from test suites to test-driven development processes Scaling and deployment Database issues, including migrations and validations System design for “graceful degradation” in the real world