The Most Important Design Guideline is Testability
12The Most Important Design Guideline is Testability CppCon 2024 3 Jody Hagins jhagins@dev.nullThe Most Important Design Guideline is Testability CppCon 2024 4 Jody Hagins jhagins@dev.nullThe nullThe Most Important Design Guideline is Testability CppCon 2024 5 Jody Hagins jhagins@maystreet.com coachhagins@gmail.com6 Grad School and Winning the LotteryRemember This? 7 https://www.youtube https://www.youtube.com/watch?v=a76Z__kQJdo&t=83s9 The Most Important API Design Guideline? TESTABILITY https://www.youtube.com/watch?v=a76Z__kQJdo&t=83sWhy is Testing Important? 10Why is Testing Important0 码力 | 126 页 | 9.11 MB | 5 月前3Back to Basics: Designing Classes (part 1 of 2)
Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation0 码力 | 87 页 | 5.64 MB | 5 月前3Back to Basics: Designing Classes (part 2 of 2)
Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation Design Design Guidelines Design for Readability Design for Change and Extension Design for Testability Implementation Guidelines Resource Management Back to Basics: Class Design (Part 2) Implementation0 码力 | 76 页 | 2.60 MB | 5 月前3Leveraging a Functional Approach for More Testable and Maintainable ROS 2 Code
reasoning: The code can be understood just by looking at that portion and a limited scope around it ○ testability: Testing pure functions is trivialPure Functions ● A pure function is a function that ○ is deterministic: reasoning: The code can be understood just by looking at that portion and a limited scope around it ○ testability: Testing pure functions is trivial ● Practically, pure functions do not: ○ contain state (static reasoning: The code can be understood just by looking at that portion and a limited scope around it ○ testability: Testing pure functions is trivial ● Practically, pure functions do not: ○ contain state (static0 码力 | 200 页 | 1.77 MB | 5 月前3Finding Nemo - Andyy
O D E L - V I E W- V I E W M O D E L T H E G O O D • Reactive UI data binding • Increased testability! • First viable contender to MVC (within iOS) • Post-MVC movement on iOS primarily started R C H I T E C T U R E O V E R - S I M P L I F I E D FILES AND COMPLEXITY MVC MVVM VIPER TESTABILITY H O W D O W E D E C I D E O N W H I C H T O A D O P T ? O U R P R O D U C T P U N server architecture C H O O S I N G A N A R C H I T E C T U R E R E Q U I R E M E N T S • Testability • Code reusability • Easy to onboard • Modular • Expandable • Compatible • iOS first0 码力 | 69 页 | 259.23 KB | 1 年前3Dependency Injection in C++
Using various DI methods to achieve functionality swapping / instrumentation for flexibility and testability ❑ Primarily unit testing • Focus on strategies / How to think to achieve DI in the real world class/function independent of its underlying dependencies 3. Improves the reusability – and so testability - of code. 4. Better long term maintainability of code. Encyclopedia Muldoonica Basic Definitions11 • Poorly formed code needs many tricks for DI • Improves the flexibility/reusability – and so testability - of a system • Better long term maintainability of code 121 Bloomberg Dependency Injection MythsDependency0 码力 | 106 页 | 1.76 MB | 5 月前3Back to Basics Unit Testing
Topic 2Unit Testing is a Big Topic Jody Hagins (today): The Most Important Design Guideline is Testability Greg Law and Mike Shah (tomorrow): Back To Basics, Debugging and Testing Chip Hogg (Wednesday) coupling SOLID Testability DRY ... 78Process: Design Good Design (new) Simplicity (small functions, Single Responsibility Rule) Encapsulation and loose coupling SOLID DRY ... Testability 79Third Kingdom:0 码力 | 109 页 | 4.13 MB | 5 月前3Hiding Your Implementation Details is Not So Simple
others. Enhances Reusability Components become more generic, thus can be better reused. Improves Testability Easier to test components in isolation. Decoupling 6 Hiding your Implementation Details, Amir Hiding your Implementation Details, Amir Kirsh @ CppCon, 2024 And make our code easier to test! Testability and API Design John Pavan • Aram Chung • Lukas Zhao46 Hiding your Implementation Details, Amir will not cover it here. Mentioned also by Jody Hagins in “The Most Important Design Guideline is Testability” on his Monday here at CppCon 2024. See also: https://stackoverflow.com/a/11622314/20856260 码力 | 145 页 | 2.45 MB | 5 月前3Laravel 5.0 Documentation
Laravel provides several opportunities to use the service container to increase the flexibility and testability of your application. One primary example is when resolving controllers. All controllers are resolved the IoC container, providing the benefit of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods. Occasionally, You may wish to create your own them. Unit testing is an important aspect of why facades work the way that they do. In fact, testability is the primary reason for facades to even exist. For more information, check out the mocking facades0 码力 | 242 页 | 1.44 MB | 1 年前3领域驱动设计&中台/演进式架构的平台化落地
operability sustainability determinability orthogonality tailorability demonstrability portability testability dependability precision timeliness deployability predictability traceability discoverability0 码力 | 42 页 | 2.95 MB | 1 年前3
共 56 条
- 1
- 2
- 3
- 4
- 5
- 6