Changing Legacy Code: With Confidence
Maintaining and Migrating Working Code Changing Legacy Code with Confidence: Brian Ruth (he/him) brian.ruth@garmin.comPart 0: Legacy Code• It works* • It may not have tests, but has lifetime • It is currently making the company money • One person's bug is another's critical feature Legacy code has value *well enough, for some definition of "works"• Best practices and languages change developers may not have a firm understanding of project structure* • Supporting tools change The Legacy of Code *for some definition of "structure"• Preserve working code • Introduce testing • Gradual0 码力 | 114 页 | 982.54 KB | 5 月前3Adventures with Legacy Codebases: Tales of Incremental Improvement
v=90I0hH5-r5A A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern CLegacy Code …make sure new code is betterWhat is legacy code?What is legacy code? ● No tests ● Lotʼs of code TSANhttps://www.youtube.com/watch?v=vEtGtphI3lc Purging Undefined Behavior & Intel Assumptions in a Legacy C Codebase23 xkcd.com/2030/Improving with static analysis Success ● Incremental rollout of ASAN Unit Tests Integration E2EMoving up the testing pyramid Unit Tests DSP Regression VST3Changing legacy APIs should you?Breaking changes ● class templatechecked_value ● class template 0 码力 | 77 页 | 4.34 MB | 5 月前3A Case-study in Rewriting a Legacy GUI Library for Real-time Audio Software in Modern C++
real-time audio plug-ins | music, film, television, and radio iZotope Inc.Glass Properties Making a legacy run-time system compile-time safe iZotope Inc.What do I mean by property system? iZotope Inc.What0 码力 | 138 页 | 2.75 MB | 5 月前3A Seat at the Table - IT Leadership in the Age of Agility
pattern: a way to incrementally modernize a legacy system as defined by Martin Fowler. Instead of building an entirely new system, we take a small piece of the legacy system and rebuild it in a way that lets the rest of the legacy system. We launch that piece into production and have users use it seamlessly as if it is part of the legacy system. Then we take another piece out of the legacy system and do do the same thing. And another. And another. Until eventually there is nothing left of the legacy system—it has vanished, piece by piece, like Alice in Wonderland’s Cheshire Cat. The strangler pattern0 码力 | 4 页 | 379.23 KB | 5 月前3websockets Documentation Release 9.0
API. 3.1.1 Client websockets.legacy.client defines the WebSocket client APIs. 27 websockets Documentation, Release 9.0 Opening a connection await websockets.legacy.client.connect(uri, *, create_protocol=None InvalidURI – if uri is invalid • InvalidHandshake – if the opening handshake fails await websockets.legacy.client.unix_connect(path, uri='ws://localhost/', **kwargs) Similar to connect(), but for connecting Unix socket • uri (str) – WebSocket URI Return type Connect Using a connection class websockets.legacy.client.WebSocketClientProtocol(*, origin=None, ex- tensions=None, sub- protocols=None, ex- tra_headers=None0 码力 | 81 页 | 352.88 KB | 1 年前3firebird 5 quickstartguide
it won’t work if you truncate it to the first 20 characters! Legacy authentication The installer does not offer an option to enable legacy authentication. You will need to configure this manually if should be), you should not use the Legacy_Auth authentication plugin or enable it only temporarily while you upgrade your existing clients to Firebird 5.0. The legacy connection method sends passwords 0.n with your version number, e.g. 5.0.0 or 5.0.1 If you’re running applications that expect the legacy libraries to be present, also create the following symlinks: Chapter 3. Installing Firebird 130 码力 | 49 页 | 396.21 KB | 1 年前3KiCad 8.0 Schematic Editor
Connections Netclasses Graphical items Schematic editing convenience functions Schematic Setup Opening legacy schematics Hierarchical schematics Introduction Adding sheets to a design Navigating between are present. This button is only enabled if orphaned symbols are present in the schematic (see the legacy schematics section). This dialog is primarily useful for managing symbols that appear in multiple using invisible power pins in symbols is not recommended and is only supported for compatibility with legacy designs and symbols. NOTE Hidden pins can be shown in the schematic by checking the Show hidden0 码力 | 200 页 | 8.34 MB | 1 年前3Oracle VM VirtualBox 7.0.0_BETA2 User Manual
11 Configuring Automatic Mouse Capturing . . . . . . . . . . . . . . . . . 341 9.17.12 Requesting Legacy Full-Screen Mode . . . . . . . . . . . . . . . . . . . 341 9.17.13 Removing Certain Modes of Networking 0_BETA2 (2022-09-12) . . . . . . . . . . . . . . . . . . . . . . . . . 400 15.2 Change Logs for Legacy Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 16 Third-Party Materials and 2.86 X11 Legacy License (variant 1) . . . . . . . . . . . . . . . . . . . . . . . 483 16.2.87 X11 Legacy License (variant 2) . . . . . . . . . . . . . . . . . . . . . . . 483 16.2.88 X11 Legacy License0 码力 | 519 页 | 4.49 MB | 1 年前3Oracle VM VirtualBox 7.0.0 User Manual
11 Configuring Automatic Mouse Capturing . . . . . . . . . . . . . . . . . 362 9.17.12 Requesting Legacy Full-Screen Mode . . . . . . . . . . . . . . . . . . . 362 9.17.13 Removing Certain Modes of Networking (2022-10-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 15.2 Change Logs for Legacy Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 16 Third-Party Materials and 2.86 X11 Legacy License (variant 1) . . . . . . . . . . . . . . . . . . . . . . . 505 16.2.87 X11 Legacy License (variant 2) . . . . . . . . . . . . . . . . . . . . . . . 505 16.2.88 X11 Legacy License0 码力 | 542 页 | 4.37 MB | 1 年前3Oracle VM VirtualBox 7.0.8 User Manual
11Configuring Automatic Mouse Capturing . . . . . . . . . . . . . . . . . 362 10.17.12Requesting Legacy Full-Screen Mode . . . . . . . . . . . . . . . . . . . 362 10.17.13Removing Certain Modes of Networking (2022-10-10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 16.6 Change Logs for Legacy Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 17 Third-Party Materials and 2.86 X11 Legacy License (variant 1) . . . . . . . . . . . . . . . . . . . . . . . 509 17.2.87 X11 Legacy License (variant 2) . . . . . . . . . . . . . . . . . . . . . . . 509 17.2.88 X11 Legacy License0 码力 | 546 页 | 4.37 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100
相关搜索词