Impact on maintainability and refactoring for higher-level design features - Titus Winters
#Programming #Cpp #AccuConf
Higher levels of abstraction are useful for building things out of, but also have a higher cognitive and maintenance cost. That is, it’s a lot easier to refactor a function than it is to change a type, and similarly easier to deal with a single concrete type than a class template, or a Concept, or a meta-Concept…
In this talk I’ll present example strategies for refactoring the interface of functions, classes, and class templates. I’ll also discuss how the recent addition of Concepts and the proposals for even-more-abstract features affect long-term refactoring in C++. If you’re interested in refactoring, and it isn’t immediately clear that a Concept published in a library can never change, this talk is for you.
---------------
Titus is a Senior Staff Software Engineer at Google, where he has worked since 2010. He founded Abseil, Google’s open-source C++ library that underpins more than 250M lines of Google code with 12K+ active internal users. He is one of the four arbiters for Google’s official C++ style guidelines. For the last 8 years, Titus has been organizing, maintaining, and evolving the foundational components of Google’s C++ codebase using modern automation and tooling. Titus chairs the Library Evolution Working Group (LEWG) for the C++ Standard - the group responsible for API design proposals to the standard library.
-----------------
Future Conferences:
ACCU 2020 Spring Conference, Bristol (UK), Marriott City Centre:
2020-03-24 to 2020-03-28.
-------------------------
ACCU Website: www.accu.org
ACCU Conference Website: conference.accu.org
ACCU Twitter: @ACCUConf
ACCU YouTube: https://www.youtube.com/c/ACCUConf
Filmed and Edited by Digital Medium Ltd - events.digital-medium.co.uk
Contact: events@digital-medium.co.uk
Видео Impact on maintainability and refactoring for higher-level design features - Titus Winters канала ACCU Conference
Higher levels of abstraction are useful for building things out of, but also have a higher cognitive and maintenance cost. That is, it’s a lot easier to refactor a function than it is to change a type, and similarly easier to deal with a single concrete type than a class template, or a Concept, or a meta-Concept…
In this talk I’ll present example strategies for refactoring the interface of functions, classes, and class templates. I’ll also discuss how the recent addition of Concepts and the proposals for even-more-abstract features affect long-term refactoring in C++. If you’re interested in refactoring, and it isn’t immediately clear that a Concept published in a library can never change, this talk is for you.
---------------
Titus is a Senior Staff Software Engineer at Google, where he has worked since 2010. He founded Abseil, Google’s open-source C++ library that underpins more than 250M lines of Google code with 12K+ active internal users. He is one of the four arbiters for Google’s official C++ style guidelines. For the last 8 years, Titus has been organizing, maintaining, and evolving the foundational components of Google’s C++ codebase using modern automation and tooling. Titus chairs the Library Evolution Working Group (LEWG) for the C++ Standard - the group responsible for API design proposals to the standard library.
-----------------
Future Conferences:
ACCU 2020 Spring Conference, Bristol (UK), Marriott City Centre:
2020-03-24 to 2020-03-28.
-------------------------
ACCU Website: www.accu.org
ACCU Conference Website: conference.accu.org
ACCU Twitter: @ACCUConf
ACCU YouTube: https://www.youtube.com/c/ACCUConf
Filmed and Edited by Digital Medium Ltd - events.digital-medium.co.uk
Contact: events@digital-medium.co.uk
Видео Impact on maintainability and refactoring for higher-level design features - Titus Winters канала ACCU Conference
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Optimising a small real-world C++ application - Hubert Matthews [ACCU 2019]Maintainability and Refactoring Impact of Higher-Level Design Features - Titus Winters - CppCon 2019Lightning Talk: Algorithm Selection - Conor Hoekstra [ ACCU 2021 ]Software Engineering Principles with Titus WintersProcedural Programming: It’s Back? It Never Went Away - Kevlin Henney [ACCU 2018]Haxe: An understated powerhouse for software development - George Corney [ACCU 2019]Nothing is better than copy or move - Roger Orr [ACCU 2018]What Do You Mean? - Kevlin Henney [ACCU 2019]Taming Dynamic Memory - An Introduction to Custom Allocators - Andreas Weis [ACCU 2019]Lightning Talk: Whitespace and the Weird Coding Style - Jonathan Tanner [ ACCU 2021 ]Lightning Talk: What Will I Be When I Grow up? - Frances Buontempo [ ACCU 2021 ]Allocator-Aware (AA) Software - John Lakos [ACCU 2019]Simplicity: not just for beginners - Kate Gregory [ACCU 2018]Configuration, Extension, Maintainability - Titus Winters - CppConWhy Functional Programming Matters by John Hughes at Functional Conf 2016Audio in standard C++ - Timur Doumler [ACCU 2019]'Declarative Thinking, Declarative Practice' - Kevlin Henney [ ACCU 2016 ]Stephan T. Lavavej “Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss”KEYNOTE: De-fragmenting C++: Making exceptions more affordable and usable - Herb Sutter [ACCU 2019]'Fastware' - Andrei Alexandrescu [ ACCU 2016 ]