Solving Technical DebtTalks Tulio Paschoalin Leao – Software Engineering Manager October 28th, 2021 Tackling Technical Debt: Hello Junior Developers!© 2021 Cadence Design Systems, Inc. All rights reserved. 2 Photo by Susan Design Systems, Inc. All rights reserved. 6 Senior Devs Junior Devs Key Concepts • Technical Debt • Resource Allocation “Free time” Knowledge© 2021 Cadence Design Systems, Inc. All rights reserved0 码力 | 10 页 | 2.48 MB | 6 月前3
Six Impossible Thingsit may not be in a consistent state, but it is a bug for a client to contradict itself.Technical debt is quantifiable as financial debtMeir M Lehman Programs, life cycles, and laws of software evolution html Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem.Martin Fowler martinfowler.com/bliki/TechnicalDebt.html Like a financial debt, the technical technical debt incurs interest payments, which come in the form of the extra effort that we have to do in future development because of the quick and dirty design choice.Martin Fowler martinfowler.com/bliki/TechnicalDebt0 码力 | 144 页 | 6.47 MB | 6 月前3
Building Safe and Reliable Surgical Robotics with C++vulnerabilities are introduced ❖ All new security hotspots are reviewed ❖ New code has limited technical debt ❖ New code has limited duplication ❖ New code is properly covered by testsContinuous Testing certified (3rd party vendors), ... ❖ What can help: ➢ Modular and decoupled architecture, Frequent tech debt reviews, Security/Compliance tracking, Established testing framework for upgrades, Proper dependency0 码力 | 71 页 | 4.02 MB | 6 月前3
Better Code: Contracts1971 - is very close to the published form of the paper which was submitted on 16 February 1972. The debt, among others, to Milner's work is acknowleged but the paper here presents the proof method much pair& e); };© 2023 Adobe. All Rights Reserved. Contracts | The Reckoning 120 // A collection of T, U pairs whose first // elements are stored in one vector and // second elements in a + p)) }; ... };© 2023 Adobe. All Rights Reserved. Contracts | The Reckoning 122 // A collection of T, U pairs whose first // elements are stored in one vector and // second elements in a 0 码力 | 204 页 | 4.46 MB | 6 月前3
Continuous Regression Testing for Safer and Faster RefactoringRefactoring Upgrading Migrating Debugging Adding tests Writing documentation Resolving technical debt “The only constant in life is change.” - Heraclitus5 Aurora Innovation Types of Change Fixing a accountability for software quality. reward continuous improvements and actively share about technical debt. Commitment Teams need to commit to continued investment in maintaining software quality and continuously0 码力 | 85 页 | 11.66 MB | 6 月前3
Find Code Reviews Valuable: Try Pair Programming, You'll Love It!about… Discuss & implement Better ways Ensure Simplicity Enable Evolution Address Technical Debt Evaluate more options!High- Ownership Functional Knowledge Code Awareness Code Familiarity0 码力 | 38 页 | 3.76 MB | 6 月前3
Reflection Is Not Contemplation• “This is a proxy, this is a memoized fetcher, this is a façade…” • How do we define technical debt? • Today: entropy created in order to deliver something quickly • Tomorrow: entropy that is difficult0 码力 | 45 页 | 2.45 MB | 6 月前3
C++23: An Overview of Almost All New and Updated Featuresstd::to_underlying() Associative Containers Heterogeneous Erasure Removed Features Garbage Collection SupportC++23 Core Language6 Agenda C++23 Core Language Explicit Object Parameters if std::to_underlying() Associative Containers Heterogeneous Erasure Removed Features Garbage Collection Support7 Explicit Object Parameters Instead of implicit this, explicitly specify the object std::to_underlying() Associative Containers Heterogeneous Erasure Removed Features Garbage Collection Support13 if consteval Syntax: if consteval { /* A */ } else { /* B */ } No condition0 码力 | 105 页 | 759.96 KB | 6 月前3
A Multithreaded, Transaction-Based Locking Strategy for ContainersChoices thread_function(shared_collection) [Create a transaction manager] while [Work remains to be done] [Begin a new transaction] [Find target element E in shared_collection] [Determine the membership of Choices thread_function(shared_collection) [Create a transaction manager] while [Work remains to be done] [Begin a new transaction] [Find target element E in shared_collection] [Determine the membership of Choices thread_function(shared_collection) [Create a transaction manager] while [Work remains to be done] [Begin a new transaction] [Find target element E in shared_collection] [Determine the membership of0 码力 | 142 页 | 474.78 KB | 6 月前3
COMPOSABLE C++simply: Boids are de�ned quite simply: mechanical parameters: position, heading, velocity etc a collection of behaviours The calculation of each behaviour returns a force The calculation of each behaviour COMPOSABLE TYPES bool bool is to is to int int as as optionaloptional is to is to collection collection COMPOSING COMPOSING optional optional optional optional can compose in the same way inhibitor of recursive beauty is mixed up return types. auto calculate_recursively(const collection&) -> collection;WE GET CONFUSED WE GET CONFUSED When solving any kind of interesting recursive problem 0 码力 | 124 页 | 8.28 MB | 6 月前3
共 112 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
相关搜索词
SolvingTechnicalDebtSixImpossibleThingsBuildingSafeandReliableSurgicalRoboticswithC++BetterCodeContractsContinuousRegressionTestingforSaferFasterRefactoringFindReviewsValuableTryPairProgrammingYoullLoveItReflectionIsNotContemplation23AnOverviewofAlmostAllNewUpdatedFeaturesMultithreadedTransactionBasedLockingStrategyContainersCOMPOSABLE













