Wydawca: 8
Refactoring TypeScript. Keeping your code healthy
James Hickey
Refactoring improves your code without changing its behavior. With refactoring, the best approach is to apply small targeted changes to a codebase. Instead of doing a huge sweeping change to your code, refactoring is better as a long-term and continuous enterprise. Refactoring TypeScript explains how to spot bugs and remove them from your code.You’ll start by seeing how wordy conditionals, methods, and null checks make code unhealthy and unstable. Whether it is identifying messy nested conditionals or removing unnecessary methods, this book will show various techniques to avoid these pitfalls and write code that is easier to understand, maintain, and test.By the end of the book, you’ll have learned some of the main causes of unhealthy code, tips to identify them and techniques to address them.
Refactoring with C++. Explore modern ways of developing maintainable and efficient applications
Dmitry Danilov
Despite the prevalence of higher-level languages, C++ is still running the world, from bare-metal embedded systems to distributed cloud-native systems. C++ is on the frontline whenever there is a need for a performance-sensitive tool supporting complex data structures. The language has been actively evolving for the last two decades.This book is a comprehensive guide that shows you how to implement SOLID principles and refactor legacy code using the modern features and approaches of C++, the standard library, Boost library collection, and Guidelines Support Library by Microsoft. The book begins by describing the essential elements of writing clean code and discussing object-oriented programming in C++. You’ll explore the design principles of software testing with examples of using popular unit testing frameworks such as Google Test. The book also guides you through applying automated tools for static and dynamic code analysis using Clang Tools.By the end of this book, you’ll be proficient in applying industry-approved coding practices to design clean, sustainable, and readable real-world C++ code.
Matt Eland, Steve Smith
Software projects start as brand-new greenfield projects, but invariably become muddied in technical debt far sooner than you’d expect. In Refactoring with C#, you'll explore what technical debt is and how it arises before walking through the process of safely refactoring C# code using modern tooling in Visual Studio and more recent C# language features using C# 12 and .NET 8. This book, written by a Microsoft MVP, will guide you through the process of refactoring safely through advanced unit testing with XUnit and libraries like Moq, Snapper, and Scientist .NET. You'll explore maintainable code through SOLID principles and defensive coding techniques made possible in newer versions of C#. You'll also find out how to run code analysis and write custom Roslyn analyzers to detect and resolve issues unique to your code.The nature of coding is changing, and you'll explore how to use AI with the GitHub Copilot Chat to refactor, test, document, and generate code before ending with a discussion about communicating technical debt to leadership and getting organizational buy-in to refactor your code in enterprise organizations and in agile teams.By the end of this book, you'll understand the nature of refactoring and see how you can safely, effectively, and repeatably pay down the technical debt in your application while adding value to your business.
Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Martin Fowler
Refaktoryzacja ma na celu ulepszanie istniejącego kodu. Poprawia jego strukturę, czytelność i wydajność. Prowadzona poprawnie, cechuje się zdyscyplinowaniem metody, systematycznością i konsekwencją w działaniu, a także ciągłym minimalizowaniem ryzyka wprowadzenia błędów. Niemniej refaktoryzacja jest ryzykowna. Polega na wprowadzaniu zmian do działającego kodu, co może doprowadzić do powstania trudno wykrywalnych błędów. Ryzyko wzrasta, jeśli refaktoryzacja jest przeprowadzana w sposób nieprzemyślany. Okazuje się, że transformacja kodu, która ma doprowadzić do jego ulepszenia, to spore wyzwanie. Ta książka jest zaktualizowanym wydaniem praktycznego przewodnika po refaktoryzacji. Choć jest przeznaczona dla profesjonalnego programisty, znalazło się tu zrozumiałe wprowadzenie do tego zagadnienia z opisem celów, technik i możliwości refaktoryzacji. Wspomniano także o problemach związanych z refaktoryzacją. Natomiast zasadniczą część książki stanowi znakomicie uzupełniony i wzbogacony katalog przekształceń refaktoryzacyjnych. Do zilustrowania poszczególnych technik refaktoryzacji autorzy wybrali język JavaScript, jednak kod został przedstawiony w taki sposób, aby prezentowane koncepcje bez trudu zrozumiał każdy programista. W tej książce między innymi: solidne wprowadzenie do refaktoryzacji przekształcenia refaktoryzacyjne: zasady, sposoby, testy enkapsulacja w refaktoryzacji upraszczanie wyrażeń oraz porządkowanie danych, zmiennych i pól refaktoryzacja klas i API Refaktoryzacja: czytelny kod, wydajne działanie i brak błędów! »» Spis wszystkich odwołań do stron w książce
Matt Eland
Termin dług techniczny oznacza zbiór skrótów, niedociągnięć i potworków projektowych, które powstają w trakcie ewolucyjnego rozwoju programu. Jeśli się ich nie zlikwiduje, mogą dramatycznie spowolnić pracę nad programem. Rozwiązywanie tego typu problemów jest nazywane refaktoryzacją i każdy programista powinien umieć ją przeprowadzać. Dzięki tej przystępnej, świetnie napisanej książce dowiesz się, czym jest dług techniczny, co prowadzi do jego powstawania i w jaki sposób można go bezpiecznie zrefaktoryzować przy użyciu nowoczesnych narzędzi dostępnych w środowisku Visual Studio, a także najnowszych składników języka C# 12 i platformy .NET 8. Nauczysz się też korzystać z zaawansowanych testów jednostkowych tworzonych przy użyciu xUnit i takich bibliotek jak Moq, Snapper czy Scientist.NET. Dowiesz się, jak stosować zasady SOLID, aby tworzyć łatwy w utrzymaniu kod, poznasz również techniki programowania defensywnego, które można stosować w nowszych wersjach C#. Ponadto nauczysz się przeprowadzać analizy kodu i pisać własne analizatory Roslyn do wykrywania i rozwiązywania problemów typowych dla Twojego projektu. Najciekawsze zagadnienia: najważniejsze informacje o długu technicznym różne sposoby refaktoryzacji klas, metod i wierszy kodu efektywne testy jednostkowe zasady SOLID i tworzenie kodu łatwego w utrzymaniu korzystanie ze sztucznej inteligencji GitHub Copilot standardy kodowania w zwinnych zespołach
Angelika Łabuda
Co widzisz, kiedy spoglądasz w lustro? Czy patrząc w swoje odbicie, zastanawiasz się czasem, kim jesteś? Ruby Miller panicznie bała się osoby, którą oglądała codziennie w lustrze. Przerażało ją wszystko, co widziała w swoim odbiciu. Przez osiemnaście lat nieustannie słyszała w domu powracający niczym koszmar komunikat: że nie jest dość dobra, mądra ani ładna. Nigdy nie odważyła się na to, by wypowiedzieć głośno swoją opinię, bo w głowie wciąż słyszała karcący głos matki, który powtarzał, że jej zdanie i tak nikogo nie interesuje. Nigdy też nie mówiła, na co ma ochotę, przekonana, że i tak tego nie dostanie. Jedyne, czego Ruby w życiu pragnęła, to usłyszeć choć raz od rodziców, że są z niej dumni - ale to marzenie wydawało się nierealne. Tym bardziej że wystarczyła zwykła domowa kłótnia, aby z dobrej córki stała się tą najgorszą. I zwykła różnica zdań, by została największym wrogiem szkolnej koleżanki. Dziewczyna zdecydowanie potrzebuje pomocy. Czy otrzyma ją od młodego, ambitnego psychologa Tristana Blackwella? Posłuchaj audiobooka:
Angelika Łabuda
Co widzisz, kiedy spoglądasz w lustro? Czy patrząc w swoje odbicie, zastanawiasz się czasem, kim jesteś? Ruby Miller panicznie bała się osoby, którą oglądała codziennie w lustrze. Przerażało ją wszystko, co widziała w swoim odbiciu. Przez osiemnaście lat nieustannie słyszała w domu powracający niczym koszmar komunikat: że nie jest dość dobra, mądra ani ładna. Nigdy nie odważyła się na to, by wypowiedzieć głośno swoją opinię, bo w głowie wciąż słyszała karcący głos matki, który powtarzał, że jej zdanie i tak nikogo nie interesuje. Nigdy też nie mówiła, na co ma ochotę, przekonana, że i tak tego nie dostanie. Jedyne, czego Ruby w życiu pragnęła, to usłyszeć choć raz od rodziców, że są z niej dumni - ale to marzenie wydawało się nierealne. Tym bardziej że wystarczyła zwykła domowa kłótnia, aby z dobrej córki stała się tą najgorszą. I zwykła różnica zdań, by została największym wrogiem szkolnej koleżanki. Dziewczyna zdecydowanie potrzebuje pomocy. Czy otrzyma ją od młodego, ambitnego psychologa Tristana Blackwella? Posłuchaj audiobooka:
Reflectivity in Pre-Service Teacher Education: A Survey of Theory and Practice
Danuta Gabryś-Barker
Książka Danuty Gabryś-Barker to monografia poświęcona miejscu refleksyjności oraz – mającego w niej swe źródło – refleksyjnego sposobu nauczania w praktyce przyszłych i obecnych nauczycieli języka obcego. Praca stanowi zarówno ważną pozycję z dziedziny dydaktyki języka obcego, jak i istotną, opartą na doświadczeniu dydaktycznym, wypowiedź w sprawie przeciwdziałania wypaleniu zawodowemu nauczycieli. Rozdział pierwszy poświęcony jest charakterystyce nauczycieli jako grupy zawodowej, w szczególności nauczycieli początkujących. W rozdziale drugim Autorka podejmuje próbę zdefiniowania refleksyjności i refleksyjnego nauczania w celu określenia ich miejsca w rozwoju zawodowym nauczyciela. Rozdziały trzeci i czwarty opisują narzędzia rozwoju refleksyjności: pamiętnik nauczyciela oraz tzw. zdarzenia krytyczne (critical incidents) jako istotny element refleksji. Ostatni rozdział pracy przedstawia badanie przeprowadzone przez Autorkę na grupie słuchaczy nauczycielskiego kolegium języków obcych – przyszłych nauczycieli języka angielskiego. Celem badania było wykształcenie umiejętności refleksyjnego podejścia do nauczania już w początkowym etapie rozwoju zawodowego nauczyciela. Podstawę badania stanowią tu dla Autorki pamiętniki pisane przez słuchaczy, w których identyfikowali i interpretowali zdarzenia krytyczne, jakie zaszły w klasie uczniów podczas odbywania przez nich rocznej praktyki pedagogicznej w szkole. Wnioski z badań są bardzo optymistyczne i ukazują rozwój samoświadomości młodych nauczycieli oraz wzrost ich motywacji do nauczania po wprowadzeniu modelu nauczania refleksyjnego, opartego na prowadzeniu pamiętnika nauczyciela.