Opis ebooka: Refactoring at Scale
Making significant changes to large, complex codebases is a daunting task--one that's nearly impossible to do successfully unless you have the right team, tools, and mindset. If your application is in need of a substantial overhaul and you're unsure how to go about implementing those changes in a sustainable way, then this book is for you.
Software engineer Maude Lemaire walks you through the entire refactoring process from start to finish. You'll learn from her experience driving performance and refactoring efforts at Slack during a period of critical growth, including two case studies illustrating the impact these techniques can have in the real world. This book will help you achieve a newfound ability to productively introduce important changes in your codebase.
- Understand how code degrades and why some degradation is inevitable
- Quantify and qualify the state of your codebase before refactoring
- Draft a well-scoped execution plan with strategic milestones
- Win support from engineering leadership
- Build and coordinate a team best suited for the project
- Communicate effectively inside and outside your team
- Adopt best practices for successfully executing the refactor
Wybrane bestsellery
-
Dzięki temu praktycznemu przewodnikowi komfortowo rozpoczniesz pracę z platformą streamingową Apache Kafka. Poznasz najlepsze praktyki w zakresie jej wdrażania i konfiguracji, aby zapewnić sobie możliwość strumieniowego przetwarzania dużych ilości danych. Zaznajomisz się z AdminClient API Kafki, ...
Kafka w praktyce. Przetwarzanie strumieniowe i potoki danych o dużej skali. Wydanie II Kafka w praktyce. Przetwarzanie strumieniowe i potoki danych o dużej skali. Wydanie II
(49.50 zł najniższa cena z 30 dni)54.45 zł
99.00 zł(-45%) -
Get up to speed on Scala--the JVM, JavaScript, and natively compiled language that offers all the benefits of functional programming, a modern object model, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosyst...(211.65 zł najniższa cena z 30 dni)
216.59 zł
259.00 zł(-16%) -
Ten przystępny podręcznik przeznaczono dla programistów, którzy chcą poznać język Scala, aby wykorzystywać go do pisania współbieżnych, skalowalnych i reaktywnych aplikacji. Przedstawiono tu podstawy niezbędne do rozpoczęcia kodowania w Scali: składnię języka, podstawowe typy danych, literały czy...(33.50 zł najniższa cena z 30 dni)
36.84 zł
67.00 zł(-45%) -
Apache Spark is a ?exible in-memory framework that allows processing of both batch and real-time data. Its unified engine has made it quite popular for big data use cases. This book will help you to quickly get started with Apache Spark 2.0 and write efficient big data applications for a variety ...
Apache Spark Quick Start Guide. Quickly learn the art of writing efficient big data applications with Apache Spark Apache Spark Quick Start Guide. Quickly learn the art of writing efficient big data applications with Apache Spark
-
Design patterns make developers’ lives easier by helping them write great software that is easy to maintain, runs efficiently, and is valuable to the company or people concerned. In this book, you’ll learn about the various features of Scala and will be able to apply well-known, ind...
Scala Design Patterns. Design modular, clean, and scalable applications by applying proven design patterns in Scala - Second Edition Scala Design Patterns. Design modular, clean, and scalable applications by applying proven design patterns in Scala - Second Edition
-
This book presents unique techniques to conquer different Big Data processing and analytics challenges using Hadoop. Practical examples are provided to boost your understanding of Big Data concepts and their implementation. By the end of the book, you will have all the knowledge and skills you ne...
Modern Big Data Processing with Hadoop. Expert techniques for architecting end-to-end big data solutions to get valuable insights Modern Big Data Processing with Hadoop. Expert techniques for architecting end-to-end big data solutions to get valuable insights
-
Poznaj podstawy teoretyczne programowania funkcyjnego, a następnie zacznij zgłębiać tajniki typów funkcyjnych, rekurencji oraz zmiennych niepodlegających modyfikacji. Z kolejnych rozdziałów dowiedz się, czym są ewaluacja rygorystyczna i nierygorystyczna. Zobacz też, jak wykonać dopasowanie do wzo...(29.40 zł najniższa cena z 30 dni)
34.30 zł
49.00 zł(-30%) -
Jeśli sięgniesz po tę książkę, błyskawicznie nauczysz się budować strony WWW przy użyciu serwletów i stron JSP. W kolejnych rozdziałach poznasz bardziej zaawansowane narzędzia — szkielet Struts 2, Spring Web MVC oraz JSF 2. Podczas tworzenia aplikacji działających w środowisku wirtualnej ma...(33.50 zł najniższa cena z 30 dni)
36.84 zł
67.00 zł(-45%) -
Why learn Scala? You don’t need to be a data scientist or distributed computing expert to appreciate this object-oriented functional programming language. This practical book provides a comprehensive yet approachable introduction to the language, complete with syntax diagrams, examples, and...
Learning Scala. Practical Functional Programming for the JVM Learning Scala. Practical Functional Programming for the JVM
(124.35 zł najniższa cena z 30 dni)124.15 zł
149.00 zł(-17%) -
Learning Concurrent Programming in Scala. Dive into the Scala framework with this programming guide, created to help you learn Scala and to build intricate, modern, scalable concurrent applications Learning Concurrent Programming in Scala. Dive into the Scala framework with this programming guide, created to help you learn Scala and to build intricate, modern, scalable concurrent applications
Ebooka "Refactoring at Scale" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Refactoring at Scale" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Refactoring at Scale" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-920-7548-6, 9781492075486
- Data wydania ebooka:
- 2020-10-13 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 9.9MB
- Rozmiar pliku Mobi:
- 23.4MB
Spis treści ebooka
- Preface
- Who Should Read This Book
- Why I Wrote This Book
- Navigating This Book
- Conventions Used in This Book
- Using Code Examples
- OReilly Online Learning
- How to Contact Us
- Acknowledgments
- I. Introduction
- 1. Refactoring
- What Is Refactoring?
- What Is Refactoring at Scale?
- Why Should You Care About Refactoring?
- Benefits of Refactoring
- Developer Productivity
- Identifying Bugs
- Risks of Refactoring
- Serious Regressions
- Unearthing Dormant Bugs
- Scope Creep
- Unnecessary Complexity
- When to Refactor
- Small Scope
- Code Complexity Actively Hinders Development
- Shift in Product Requirements
- Performance
- Using a New Technology
- When Not to Refactor
- For Fun or Out of Boredom
- Because You Happened to Be Passing By
- To Making Code More Extendable
- When You Dont Have Time
- Our First Refactoring Example
- Simplifying Conditionals
- Extracting Magic Numbers
- Extracting Self-Contained Logic
- 2. How Code Degrades
- Why Understanding Code Degradation Matters
- Requirement Shifts
- Scalability
- Accessibility
- Device Compatibility
- Environmental Changes
- External Dependencies
- Unused Code
- Changes in Product Requirements
- Tech Debt
- Working Around Technology Choices
- Persistent Lack of Organization
- Moving Too Quickly
- Applying Our Knowledge
- II. Planning
- 3. Measuring Our Starting State
- Why Is Measuring the Impact of a Refactor Difficult?
- Measuring Code Complexity
- Halstead Metrics
- Cyclomatic Complexity
- NPath Complexity
- Lines of Code
- Test Coverage Metrics
- Documentation
- Formal Documentation
- Informal Documentation
- Version Control
- Commit Messages
- Commits in Aggregate
- Reputation
- Building a Complete Picture
- 4. Drafting a Plan
- Defining Your End State
- On the Road
- At Work
- Defining Your End State
- Mapping the Shortest Distance
- On the Road
- At Work
- Identifying Strategic Intermediate Milestones
- On the Road
- At Work
- 1. Does this step feel attainable in a reasonable period?
- 2. Is this step valuable on its own?
- 3. If something comes up, could we stop at this step and pick it back up easily later?
- Choosing a Rollout Strategy
- Dark Mode/Light Mode
- Smart DNAs Rollout
- Cleaning Up Artifacts
- Referencing Metrics in Your Plan
- Interpolating Goal Metrics to Intermediate Milestones
- Distinct Milestone Metrics
- Estimating
- Sharing Your Plan with Other Teams
- Transparency
- Perspective
- Refined Plan
- 5. Getting Buy-In
- Why Your Manager Is Not Onboard
- Managers Arent Coding
- Managers Are Evaluated Differently
- Managers See the Risk
- Managers Need to Coordinate
- Why Your Manager Is Not Onboard
- Strategies for Making a Compelling Argument
- Using Conversational Devices
- Compliment their thought process
- Present the counter-argument
- Using Conversational Devices
- Building an Alignment Sandwich
- Rallying your teammates
- Skip-level
- Departments
- Tapping into influential engineers
- Relying on Evidence
- Playing Hardball
- Stop doing unrewarded maintenance work
- Giving an ultimatum
- Buy-In Shapes the Refactor
- 6. Building the Right Team
- Identifying Different Kinds of Experts
- Matchmaking
- Experts of Many Trades
- Revisiting Active Contributors
- Biases in Our Expert List
- Types of Refactoring Teams
- Owners
- Option 1: One team migrates all tests
- Option 2: Teams update their own tests
- Striking a balance
- Owners
- Proposed Approach
- Cleanup Crews
- The Pitch
- Metrics
- Generosity
- Opportunity
- Bartering
- Repeat
- A Few Outcomes
- Realistic Scenario
- Worst-Case Scenario
- Fostering Strong Teams
- III. Execution
- 7. Communication
- Within Your Team
- Stand-Ups
- Weekly Syncs
- Retrospectives
- Within Your Team
- Outside Your Team
- When Kicking Off the Project
- Choosing a single source of truth
- Setting expectations
- When Kicking Off the Project
- During Project Execution
- Progress announcements
- Execution plan
- Seeking feeback from senior engineers
- Always Iterate
- 8. Strategies for Execution
- Team Building
- Pair Programming
- Keeping Everyone Motivated
- Motivating individuals
- Motivating teams
- Team Building
- Keeping a Tally
- Intermediate Metric Measurements
- Unearthed Bugs
- Clean-Up Items
- Out-of-Scope Items
- Programming Productively
- Prototyping
- Keep Things Small
- Test, Test, Test
- Asking the Stupid Question
- Conclusion
- 9. Making the Refactor Stick
- Fostering Adoption
- Education
- Active Education
- Workshops
- Office hours
- Engineering gatherings
- Active Education
- Passive Education
- Reinforcement
- Progressive Linting
- Code Analysis Tools
- Gates Versus Guardrails
- Integrating Improvement into the Culture
- IV. Case Studies
- 10. Case Study: Redundant Database Schemas
- Slack 101
- Slack Architecture 101
- Scalability Problems
- Booting Up the Slack Client
- File Visibility
- Mentions
- Consolidating the Tables
- Gathering the Scattered Queries
- Developing a Migration Strategy
- Quantifying Our Progress
- Attempting to Keep the Team Motivated
- Communicating Our Progress
- Tidying Up
- Lessons Learned
- Develop a Well-Defined, Well-Communicated Plan
- Understand the Codes History
- Ensure Adequate Test Coverage
- Keep Your Team Motivated
- Focus on Strategic Milestones
- Identify and Rely on Meaningful Metrics
- Takeaways
- 11. Case Study: Migrating to a New Database
- Workspace-Sharded Data
- Migrating channels_members to Vitess
- Sharding Scheme
- Developing a New Schema
- User-sharded membership table
- Channel-sharded table schema
- Detangling JOINs
- A Difficult Rollout
- Backfill Mode
- Dark Mode
- Performance
- Data discrepancies
- Light Mode
- Sunset Mode
- Tidying Up
- Lessons Learned
- Set Realistic Estimates
- Source the Teammates You Need
- Plan Scope Carefully
- Choose a Single Place for Project Communication
- Design a Thoughtful Rollout Plan
- Takeaways
- Index
O'Reilly Media - inne książki
-
Keeping up with the Python ecosystem can be daunting. Its developer tooling doesn't provide the out-of-the-box experience native to languages like Rust and Go. When it comes to long-term project maintenance or collaborating with others, every Python project faces the same problem: how to build re...(203.15 zł najniższa cena z 30 dni)
209.34 zł
249.00 zł(-16%) -
Bringing a deep-learning project into production at scale is quite challenging. To successfully scale your project, a foundational understanding of full stack deep learning, including the knowledge that lies at the intersection of hardware, software, data, and algorithms, is required.This book il...(237.15 zł najniższa cena z 30 dni)
250.75 zł
289.00 zł(-13%) -
Frontend developers have to consider many things: browser compatibility, usability, performance, scalability, SEO, and other best practices. But the most fundamental aspect of creating websites is one that often falls short: accessibility. Accessibility is the cornerstone of any website, and if a...(194.65 zł najniższa cena z 30 dni)
208.35 zł
249.00 zł(-16%) -
In this insightful and comprehensive guide, Addy Osmani shares more than a decade of experience working on the Chrome team at Google, uncovering secrets to engineering effectiveness, efficiency, and team success. Engineers and engineering leaders looking to scale their effectiveness and drive tra...(118.15 zł najniższa cena z 30 dni)
122.29 zł
149.00 zł(-18%) -
Data modeling is the single most overlooked feature in Power BI Desktop, yet it's what sets Power BI apart from other tools on the market. This practical book serves as your fast-forward button for data modeling with Power BI, Analysis Services tabular, and SQL databases. It serves as a starting ...(194.65 zł najniższa cena z 30 dni)
207.75 zł
249.00 zł(-17%) -
C# is undeniably one of the most versatile programming languages available to engineers today. With this comprehensive guide, you'll learn just how powerful the combination of C# and .NET can be. Author Ian Griffiths guides you through C# 12.0 and .NET 8 fundamentals and techniques for building c...(228.65 zł najniższa cena z 30 dni)
251.14 zł
289.00 zł(-13%) -
Learn how to get started with Futures Thinking. With this practical guide, Phil Balagtas, founder of the Design Futures Initiative and the global Speculative Futures network, shows you how designers and futurists have made futures work at companies such as Atari, IBM, Apple, Disney, Autodesk, Luf...(152.15 zł najniższa cena z 30 dni)
156.85 zł
189.00 zł(-17%) -
Augmented Analytics isn't just another book on data and analytics; it's a holistic resource for reimagining the way your entire organization interacts with information to become insight-driven.Moving beyond traditional, limited ways of making sense of data, Augmented Analytics provides a dynamic,...(177.65 zł najniższa cena z 30 dni)
182.55 zł
219.00 zł(-17%) -
Learn how to prepare for—and pass—the Kubernetes and Cloud Native Associate (KCNA) certification exam. This practical guide serves as both a study guide and point of entry for practitioners looking to explore and adopt cloud native technologies. Adrián González Sánchez ...
Kubernetes and Cloud Native Associate (KCNA) Study Guide Kubernetes and Cloud Native Associate (KCNA) Study Guide
(169.14 zł najniższa cena z 30 dni)177.65 zł
209.00 zł(-15%) -
Python is an excellent way to get started in programming, and this clear, concise guide walks you through Python a step at a time—beginning with basic programming concepts before moving on to functions, data structures, and object-oriented design. This revised third edition reflects the gro...(150.02 zł najniższa cena z 30 dni)
149.92 zł
179.00 zł(-16%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Refactoring at Scale Maude Lemaire (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.