Continuous Regression Testing for Safer and Faster Refactoring
Culture Teams need to foster ownership and accountability for software quality. reward continuous improvements and actively share about technical debt. Commitment Teams need to commit to continued investment Effective communication about software quality helps improve it. Reward and promote continuous improvements. Continuously measure developer experience and productivity.67 Aurora Innovation Proving business assumptions about individual test inputs. Extensible Good tests are easy to change. Optimize for low maintenance cost. Single use-case test frameworks have the same cost as production code. Measure test coverage0 码力 | 85 页 | 11.66 MB | 5 月前3Delivering safe C++
Diversion of resources from C++ to other languages • Discouraging people from learning C++ • Massive improvements are possible in many areas • C++ has a massive image problem (“C/C++”) • And it is getting worse type-and-resource safe C++ • And more, e.g., safe arithmetic • Paths to gradual adoption • Major improvements can be achieved today, e.g., consistent range checking) • This is not just about safety • better US • So, the cost would be 550*5*$500,000 == ~$1,400,000,000 • Vs. ~$125,000,000 for normal maintenance and development • Roughly $1B added cost Stroustrup - C++ safety -CppCon - October 2023 58 For0 码力 | 74 页 | 2.72 MB | 5 月前3A New Decade of Visual Studio: C++20, Open STL and More
2. Code Safety 3. Cross-platform development 4. Developer and Team ProductivityBuild Time Improvements • 16.6 • Optimized symbol lookup. • ~2X better time to enter break state while debugging. local box Easy onboarding for new contributors Replicate an environment in 2 clicks, reduce maintenance time Wed 9/16 14:10 – 14:40 Effective Remote C++ Development with Codespaces Nick Uhlenhuth –0 码力 | 37 页 | 2.67 MB | 5 月前3Back to Basics: Design Patterns
building software! 9So here’s the deal 10 ● You are hired as a programmer to perform some maintenance ○ The software is a very exciting screen saver software! ○ You’re going to get lots of $$$ to enforced the order of our traversal as well ○ It doesn’t look like it, but we have made some improvements! ■ (Next slide) 81A First Take at the Iterator Pattern (2/2) ● Each time we iterate, we are0 码力 | 96 页 | 2.10 MB | 5 月前3Conan 1.3 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too, to get fixes and performance improvements, lets suppose that we don’t want to create 2 different binaries, just one built with gcc 4.8 and guarantee the readability of the recipe. • test_package: The recipes must contain a test_package • Maintenance commitment: You will be the responsible to keep the recipe updated, fix issues etc., so a minimal class HelloConan(ConanFile): name = "Hello" version = "1.2.3" Usually this takes very little maintenance, and when the CMakeLists version is bumped, the conanfile.py version is bumped too. But if you0 码力 | 397 页 | 2.77 MB | 1 年前3Conan 1.7 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements-. Let’s suppose that we don’t want to create 2 different binaries, but just a single built with inclusion request process, the JFrog staff will perform a general review and will make suggestions for improvements or better ways to implement the package. A Single Conan Package Per OSS Library Before creating guarantee the readability of the recipe. • test_package: The recipes must contain a test_package. • Maintenance commitment: You are responsible for keeping the recipe updated, fix issues etc., so be aware that0 码力 | 433 页 | 2.95 MB | 1 年前3Conan 1.5 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements for example-, let’s suppose that we don’t want to create 2 different binaries, just one built guarantee the readability of the recipe. • test_package: The recipes must contain a test_package • Maintenance commitment: You will be the responsible to keep the recipe updated, fix issues etc., so a minimal class HelloConan(ConanFile): name = "Hello" version = "1.2.3" Usually this takes very little maintenance, and when the CMakeLists version is bumped, the conanfile.py version is bumped too. But if you0 码力 | 422 页 | 2.85 MB | 1 年前3Conan 1.6 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements for example-, let’s suppose that we don’t want to create 2 different binaries, just one built guarantee the readability of the recipe. • test_package: The recipes must contain a test_package • Maintenance commitment: You will be the responsible to keep the recipe updated, fix issues etc., so a minimal class HelloConan(ConanFile): name = "Hello" version = "1.2.3" Usually this takes very little maintenance, and when the CMakeLists version is bumped, the conanfile.py version is bumped too. But if you0 码力 | 428 页 | 2.87 MB | 1 年前3Conan 1.9 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too -to get fixes and performance improvements-. Let’s suppose that we don’t want to create 2 different binaries, but just a single built with inclusion request process, the JFrog staff will perform a general review and will make suggestions for improvements or better ways to implement the package. A Single Conan Package Per OSS Library Before creating guarantee the readability of the recipe. • test_package: The recipes must contain a test_package. • Maintenance commitment: You are responsible for keeping the recipe updated, fix issues etc., so be aware that0 码力 | 470 页 | 3.05 MB | 1 年前3Conan 1.4 Documentation
Although it could be argued that it is worth rebuilding with 4.9 too, to get fixes and performance improvements, lets suppose that we don’t want to create 2 different binaries, just one built with gcc 4.8 and guarantee the readability of the recipe. • test_package: The recipes must contain a test_package • Maintenance commitment: You will be the responsible to keep the recipe updated, fix issues etc., so a minimal class HelloConan(ConanFile): name = "Hello" version = "1.2.3" Usually this takes very little maintenance, and when the CMakeLists version is bumped, the conanfile.py version is bumped too. But if you0 码力 | 421 页 | 2.84 MB | 1 年前3
共 121 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13