Opis książki: 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
(0,00 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
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...(0,00 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł(-15%) -
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...
-
As data management and integration continue to evolve rapidly, storing all your data in one place, such as a data warehouse, is no longer scalable. In the very near future, data will need to be distributed and available for several technological solutions. With this practical book, you’ll l...(0,00 zł najniższa cena z 30 dni)
237.15 zł
279.00 zł(-15%) -
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...(0,00 zł najniższa cena z 30 dni)
46.90 zł
67.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...(0,00 zł najniższa cena z 30 dni)
40.20 zł
67.00 zł(-40%) -
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
(0,00 zł najniższa cena z 30 dni)135.15 zł
159.00 zł(-15%) -
A practical guide for solving complex data processing challenges by applying the best optimizations techniques in Apache Spark.
-
Learn how to write efficient, clean, and reusable code with Scala
-
A comprehensive guide to design, build and execute effective Big Data strategies using Hadoop
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook 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 posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- 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@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 9.9MB
- Rozmiar pliku Mobi:
- 23.4MB
- Kategorie:
Programowanie » Scala
Spis treści książki
- 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
-
FinOps brings financial accountability to the variable spend model of cloud. Used by the majority of global enterprises, this management practice has grown from a fringe activity to the de facto discipline managing cloud spend. In this book, authors J.R. Storment and Mike Fuller outline the proce...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Edge AI is transforming the way computers interact with the real world, allowing IoT devices to make decisions using the 99% of sensor data that was previously discarded due to cost, bandwidth, or power limitations. With techniques like embedded machine learning, developers can capture human intu...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why is it difficult for so many companies to get digital identity right? If you're still wrestling with even simple identity problems like modern website authentication, this practical book has the answers you need. Author Phil Windley provides conceptual frameworks to help you make sense of all ...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
Python was recently ranked as today's most popular programming language on the TIOBE index, thanks to its broad applicability to design and prototyping to testing, deployment, and maintenance. With this updated fourth edition, you'll learn how to get the most out of Python, whether you're a profe...(0,00 zł najniższa cena z 30 dni)
296.65 zł
349.00 zł(-15%) -
With the accelerating speed of business and the increasing dependence on technology, companies today are significantly changing the way they build in-house business solutions. Many now use low-code and no code technologies to help them deal with specific issues, but that's just the beginning. Wit...
Building Solutions with the Microsoft Power Platform Building Solutions with the Microsoft Power Platform
(0,00 zł najniższa cena z 30 dni)262.65 zł
309.00 zł(-15%) -
Companies are scrambling to integrate AI into their systems and operations. But to build truly successful solutions, you need a firm grasp of the underlying mathematics. This accessible guide walks you through the math necessary to thrive in the AI field such as focusing on real-world application...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
DevOps engineers, developers, and security engineers have ever-changing roles to play in today's cloud native world. In order to build secure and resilient applications, you have to be equipped with security knowledge. Enter security as code.In this book, authors BK Sarthak Das and Virginia Chu d...(0,00 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
With the increasing use of AI in high-stakes domains such as medicine, law, and defense, organizations spend a lot of time and money to make ML models trustworthy. Many books on the subject offer deep dives into theories and concepts. This guide provides a practical starting point to help develop...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Why are so many companies adopting GitOps for their DevOps and cloud native strategy? This reliable framework is quickly becoming the standard method for deploying apps to Kubernetes. With this practical, developer-oriented book, DevOps engineers, developers, IT architects, and SREs will learn th...(0,00 zł najniższa cena z 30 dni)
262.65 zł
309.00 zł(-15%) -
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applica...(0,00 zł najniższa cena z 30 dni)
220.15 zł
259.00 zł(-15%)
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.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
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.


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.