Refactoring

Improving the Design of Existing Code

Author: Martin Fowler,Kent Beck

Publisher: Addison-Wesley Professional

ISBN: 0201485672

Category: Computers

Page: 431

View: 5428

DOWNLOAD NOW »

Users can dramatically improve the design, performance, and manageability of object-oriented code without altering its interfaces or behavior. "Refactoring" shows users exactly how to spot the best opportunities for refactoring and exactly how to do it, step by step.
Release

Domain-Specific Languages

Author: Martin Fowler

Publisher: Pearson Education

ISBN: 9780131392809

Category: Computers

Page: 640

View: 1199

DOWNLOAD NOW »

When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages , noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book’s techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: How DSLs compare to frameworks and libraries, and when those alternatives are sufficient Using parsers and parser generators, and parsing external DSLs Understanding, comparing, and choosing DSL language constructs Determining whether to use code generation, and comparing code generation strategies Previewing new language workbench tools for creating DSLs
Release

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

DOWNLOAD NOW »

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
Release

Agile Software Development in the Large

Diving Into the Deep

Author: Jutta Eckstein

Publisher: Addison-Wesley

ISBN: 0133492370

Category: Computers

Page: 246

View: 2753

DOWNLOAD NOW »

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.
Release

Pro PHP Refactoring

Author: Francesco Trucchia,Jacopo Romei

Publisher: Apress

ISBN: 1430227281

Category: Computers

Page: 360

View: 1454

DOWNLOAD NOW »

Many businesses and organizations depend on older high-value PHP software that risks abandonment because it is impossible to maintain. The reasons for this may be that the software is not well designed; there is only one developer (the one who created the system) who can develop it because he didn’t use common design patterns and documentation; or the code is procedural, not object-oriented. With this book, you’ll learn to identify problem code and refactor it to create more effective applications using test-driven design.
Release

Pro Agile .NET Development with SCRUM

Author: Scott Millett,Jerrel Blankenship,Matthew Bussa

Publisher: Apress

ISBN: 1430235349

Category: Computers

Page: 392

View: 9520

DOWNLOAD NOW »

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.
Release

Object-oriented Reengineering Patterns

Author: Serge Demeyer,Stéphane Ducasse,Oscar Nierstrasz

Publisher: Lulu.com

ISBN: 395233412X

Category: Object-oriented programming (Computer science).

Page: 342

View: 1030

DOWNLOAD NOW »

Object-Oriented Reengineering Patterns collects and distills successful techniques in planning a reengineering project, reverse-engineering, problem detection, migration strategies and software redesign. This book is made available under the Creative Commons Attribution-ShareAlike 3.0 license. You can either download the PDF for free, or you can buy a softcover copy from lulu.com. Additional material is available from the book's web page at http://scg.unibe.ch/oorp
Release

Becoming a Better Programmer

A Handbook for People Who Care About Code

Author: Pete Goodliffe

Publisher: "O'Reilly Media, Inc."

ISBN: 1491905581

Category: Computers

Page: 362

View: 8120

DOWNLOAD NOW »

If you’re passionate about programming and want to get better at it, you’ve come to the right source. Code Craft author Pete Goodliffe presents a collection of useful techniques and approaches to the art and craft of programming that will help boost your career and your well-being. Goodliffe presents sound advice that he’s learned in 15 years of professional programming. The book’s standalone chapters span the range of a software developer’s life—dealing with code, learning the trade, and improving performance—with no language or industry bias. Whether you’re a seasoned developer, a neophyte professional, or a hobbyist, you’ll find valuable tips in five independent categories: Code-level techniques for crafting lines of code, testing, debugging, and coping with complexity Practices, approaches, and attitudes: keep it simple, collaborate well, reuse, and create malleable code Tactics for learning effectively, behaving ethically, finding challenges, and avoiding stagnation Practical ways to complete things: use the right tools, know what “done” looks like, and seek help from colleagues Habits for working well with others, and pursuing development as a social activity
Release

Professional XNA Game Programming

For Xbox 360 and Windows

Author: Benjamin Nitschke

Publisher: John Wiley & Sons

ISBN: 0470173777

Category: Computers

Page: 500

View: 8820

DOWNLOAD NOW »

You haven't experienced the full potential of Xbox 360 or Windows until you've created your own homebrewed games for these innovative systems. With Microsoft's new XNA Framework, the only thing limiting you is your imagination. Now professional game developer and Microsoft DirectX MVP Benjamin Nitschke shows you how to take advantage of the XNA Game Studio Express tools and libraries in order to build cutting-edge games. Whether you want to explore new worlds or speed down a city block in a souped up dragster, this book will get you up and running quickly. You'll learn how to implement 3D models, generate huge landscapes, map cool-looking shaders to your 3D objects, and much more. Nitschke also steps you through the development of your first fully functional racing game. You'll then be able to apply this information as you write your own XNA cross-platform games. What you will learn from this book Tricks for managing the game engine and user interface How to program an old school shooter game and space adventure Tips for improving racing game logic and expanding your game ideas Methods for integrating amazing visual effects using advanced shader techniques Steps for adding sound and music with XACT-bringing your game to life How to fine-tune and debug your game for optimal performance Who this book is for This book is for anyone who wants to write their own games for the Xbox 360 or Windows platforms. You should have some experience coding with C# or a similar .NET language. Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
Release

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

DOWNLOAD NOW »

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
Release