Refactoring TypeScript

Refactoring TypeScript
Author: James Hickey
Publisher: Packt Publishing Ltd
Total Pages: 120
Release: 2019-10-18
Genre: Computers
ISBN: 183921841X

Discover various techniques to develop maintainable code and keep it in shape. Key FeaturesLearn all about refactoring - why it is important and how to do itDiscover easy ways to refactor code with examplesExplore techniques that can be applied to most other programming languagesBook Description 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. What you will learnSpot and fix common code smells to create code that is easier to read and understandDiscover ways to identify long methods and refactor themCreate objects that keep your code flexible, maintainable, and testableApply the Single Responsibility Principle to develop less-coupled codeDiscover how to combine different refactoring techniquesLearn ways to solve the issues caused by overusing primitivesWho this book is for This book is designed for programmers who are looking to explore various refactoring techniques to develop healthy and maintainable code. Some experience in JavaScript and TypeScript can help you easily grasp the concepts explained in this book.

Refactoring

Refactoring
Author: Martin Fowler
Publisher: Addison-Wesley Professional
Total Pages: 461
Release: 1999
Genre: Computers
ISBN: 0201485672

Refactoring is gaining momentum amongst the object oriented programming community. It can transform the internal dynamics of applications and has the capacity to transform bad code into good code. This book offers an introduction to refactoring.

Refactoring JavaScript

Refactoring JavaScript
Author: Evan Burchard
Publisher: "O'Reilly Media, Inc."
Total Pages: 441
Release: 2017-03-13
Genre: Computers
ISBN: 1491964898

How often do you hear people say things like this? "Our JavaScript is a mess, but we’re thinking about using [framework of the month]." Like it or not, JavaScript is not going away. No matter what framework or ”compiles-to-js” language or library you use, bugs and performance concerns will always be an issue if the underlying quality of your JavaScript is poor. Rewrites, including porting to the framework of the month, are terribly expensive and unpredictable. The bugs won’t magically go away, and can happily reproduce themselves in a new context. To complicate things further, features will get dropped, at least temporarily. The other popular method of fixing your JS is playing “JavaScript Jenga,” where each developer slowly and carefully takes their best guess at how the out-of-control system can be altered to allow for new features, hoping that this doesn’t bring the whole stack of blocks down. This book provides clear guidance on how best to avoid these pathological approaches to writing JavaScript: Recognize you have a problem with your JavaScript quality. Forgive the code you have now, and the developers who made it. Learn repeatable, memorable, and time-saving refactoring techniques. Apply these techniques as you work, fixing things along the way. Internalize these techniques, and avoid writing as much problematic code to begin with. Bad code doesn’t have to stay that way. And making it better doesn’t have to be intimidating or unreasonably expensive.

Effective TypeScript

Effective TypeScript
Author: Dan Vanderkam
Publisher: O'Reilly Media
Total Pages: 264
Release: 2019-10-17
Genre: Computers
ISBN: 1492053716

TypeScript is a typed superset of JavaScript with the potential to solve many of the headaches for which JavaScript is famous. But TypeScript has a learning curve of its own, and understanding how to use it effectively can take time. This book guides you through 62 specific ways to improve your use of TypeScript. Author Dan Vanderkam, a principal software engineer at Sidewalk Labs, shows you how to apply these ideas, following the format popularized by Effective C++ and Effective Java (both from Addison-Wesley). You’ll advance from a beginning or intermediate user familiar with the basics to an advanced user who knows how to use the language well. Effective TypeScript is divided into eight chapters: Getting to Know TypeScript TypeScript’s Type System Type Inference Type Design Working with any Types Declarations and @types Writing and Running Your Code Migrating to TypeScript

TypeScript 4 Design Patterns and Best Practices

TypeScript 4 Design Patterns and Best Practices
Author: Theo Despoudis
Publisher: Packt Publishing Ltd
Total Pages: 350
Release: 2021-09-15
Genre: Computers
ISBN: 1800565410

A detailed and easy-to-follow guide to help you improve your TypeScript development skills and enable you to solve application design problems using modern practices Key Features Identify common gotchas and antipatterns when developing TypeScript applications and understand how to avoid them Discover expert techniques and best practices in developing large-scale TypeScript applications Explore advanced design patterns taken from functional programming and reactive programming Book Description Design patterns are critical armor for every developer to build maintainable apps. TypeScript 4 Design Patterns and Best Practices is a one-stop guide to help you learn design patterns and practices to develop scalable TypeScript applications. It will also serve as handy documentation for future maintainers. This book takes a hands-on approach to help you get up and running with the implementation of TypeScript design patterns and associated methodologies for writing testable code. You'll start by exploring the practical aspects of TypeScript 4 and its new features. The book will then take you through the traditional gang of four (GOF) design patterns in their classic and alternative form and show you how to use them in real-world development projects. Once you've got to grips with traditional design patterns, you'll advance to learning about their functional programming and reactive programming counterparts and how to couple them to deliver better and more idiomatic TypeScript code. By the end of this TypeScript book, you'll be able to efficiently recognize when and how to use the right design patterns in any practical use case and gain the confidence to work on scalable and maintainable TypeScript projects of any size. What you will learn Understand the role of design patterns and their significance Explore all significant design patterns within the context of TypeScript Analyze, and develop classical design patterns in TypeScript Find out how design patterns differ from design concepts Understand how to put the principles of design patterns into practice Discover additional patterns that stem from functional and reactive programming Who this book is for If you're a TypeScript developer looking to learn how to apply established design patterns to solve common programming problems instead of reinventing solutions, you'll find this book useful. You're not expected to have prior knowledge of design patterns. Basic TypeScript knowledge is all you need to get started with this book.

Working Effectively with Legacy Code

Working Effectively with Legacy Code
Author: Michael Feathers
Publisher: Prentice Hall Professional
Total Pages: 457
Release: 2004-09-22
Genre: Computers
ISBN: 0132931753

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Five Lines of Code

Five Lines of Code
Author: Christian Clausen
Publisher: Simon and Schuster
Total Pages: 480
Release: 2021-11-09
Genre: Computers
ISBN: 1638356378

Five Lines of Code teaches refactoring that's focused on concrete rules and getting any method down to five lines or less! There’s no jargon or tricky automated-testing skills required, just easy guidelines and patterns illustrated by detailed code samples. In Five Lines of Code you will learn: The signs of bad code Improving code safely, even when you don’t understand it Balancing optimization and code generality Proper compiler practices The Extract method, Introducing Strategy pattern, and many other refactoring patterns Writing stable code that enables change-by-addition Writing code that needs no comments Real-world practices for great refactoring Improving existing code—refactoring—is one of the most common tasks you’ll face as a programmer. Five Lines of Code teaches you clear and actionable refactoring rules that you can apply without relying on intuitive judgements such as “code smells.” Following the author’s expert perspective—that refactoring and code smells can be learned by following a concrete set of principles—you’ll learn when to refactor your code, what patterns to apply to what problem, and the code characteristics that indicate it’s time for a rework. Foreword by Robert C. Martin. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Every codebase includes mistakes and inefficiencies that you need to find and fix. Refactor the right way, and your code becomes elegant, easy to read, and easy to maintain. In this book, you’ll learn a unique approach to refactoring that implements any method in five lines or fewer. You’ll also discover a secret most senior devs know: sometimes it’s quicker to hammer out code and fix it later! About the book Five Lines of Code is a fresh look at refactoring for developers of all skill levels. In it, you’ll master author Christian Clausen’s innovative approach, learning concrete rules to get any method down to five lines—or less! You’ll learn when to refactor, specific refactoring patterns that apply to most common problems, and characteristics of code that should be deleted altogether. What's inside The signs of bad code Improving code safely, even when you don’t understand it Balancing optimization and code generality Proper compiler practices About the reader For developers of all skill levels. Examples use easy-to-read Typescript, in the same style as Java and C#. About the author Christian Clausen works as a Technical Agile Coach, teaching teams how to refactor code. Table of Contents 1 Refactoring refactoring 2 Looking under the hood of refactoring PART 1 LEARN BY REFACTORING A COMPUTER GAME 3 Shatter long function 4 Make type codes work 5 Fuse similar code together 6 Defend the data PART 2 TAKING WHAT YOU HAVE LEARNED INTO THE REAL WORLD 7 Collaborate with the compiler 8 Stay away from comments 9 Love deleting code 10 Never be afraid to add code 11 Follow the structure in the code 12 Avoid optimizations and generality 13 Make bad code look bad 14 Wrapping up

Refactoring

Refactoring
Author: Jay Fields
Publisher: Pearson Education
Total Pages: 555
Release: 2009-10-15
Genre: Computers
ISBN: 0321604172

The Definitive Refactoring Guide, Fully Revamped for Ruby With refactoring, programmers can transform even the most chaotic software into well-designed systems that are far easier to evolve and maintain. What’s more, they can do it one step at a time, through a series of simple, proven steps. Now, there’s an authoritative and extensively updated version of Martin Fowler’s classic refactoring book that utilizes Ruby examples and idioms throughout–not code adapted from Java or any other environment. The authors introduce a detailed catalog of more than 70 proven Ruby refactorings, with specific guidance on when to apply each of them, step-by-step instructions for using them, and example code illustrating how they work. Many of the authors’ refactorings use powerful Ruby-specific features, and all code samples are available for download. Leveraging Fowler’s original concepts, the authors show how to perform refactoring in a controlled, efficient, incremental manner, so you methodically improve your code’s structure without introducing new bugs. Whatever your role in writing or maintaining Ruby code, this book will be an indispensable resource. This book will help you Understand the core principles of refactoring and the reasons for doing it Recognize “bad smells” in your Ruby code Rework bad designs into well-designed code, one step at a time Build tests to make sure your refactorings work properly Understand the challenges of refactoring and how they can be overcome Compose methods to package code properly Move features between objects to place responsibilities where they fit best Organize data to make it easier to work with Simplify conditional expressions and make more effective use of polymorphism Create interfaces that are easier to understand and use Generalize more effectively Perform larger refactorings that transform entire software systems and may take months or years Successfully refactor Ruby on Rails code

Refactoring at Scale

Refactoring at Scale
Author: Maude Lemaire
Publisher: O'Reilly Media
Total Pages: 246
Release: 2020-10-13
Genre: Computers
ISBN: 1492075507

Making significant changes to large, complex codebases is a daunting task--one that's nearly impossible to do successfully unless you have the right team, tools, and mindset. If your application is in need of a substantial overhaul and you're unsure how to go about implementing those changes in a sustainable way, then this book is for you. Software engineer Maude Lemaire walks you through the entire refactoring process from start to finish. You'll learn from her experience driving performance and refactoring efforts at Slack during a period of critical growth, including two case studies illustrating the impact these techniques can have in the real world. This book will help you achieve a newfound ability to productively introduce important changes in your codebase. Understand how code degrades and why some degradation is inevitable Quantify and qualify the state of your codebase before refactoring Draft a well-scoped execution plan with strategic milestones Win support from engineering leadership Build and coordinate a team best suited for the project Communicate effectively inside and outside your team Adopt best practices for successfully executing the refactor

Programming TypeScript

Programming TypeScript
Author: Boris Cherny
Publisher: O'Reilly Media
Total Pages: 324
Release: 2019-04-25
Genre: Computers
ISBN: 1492037621

Any programmer working with a dynamically typed language will tell you how hard it is to scale to more lines of code and more engineers. That’s why Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code. This practical book shows you how one such type layer, TypeScript, is unique among them: it makes programming fun with its powerful static type system. If you’re a programmer with intermediate JavaScript experience, author Boris Cherny will teach you how to master the TypeScript language. You’ll understand how TypeScript can help you eliminate bugs in your code and enable you to scale your code across more engineers than you could before. In this book, you’ll: Start with the basics: Learn about TypeScript’s different types and type operators, including what they’re for and how they’re used Explore advanced topics: Understand TypeScript’s sophisticated type system, including how to safely handle errors and build asynchronous programs Dive in hands-on: Use TypeScript with your favorite frontend and backend frameworks, migrate your existing JavaScript project to TypeScript, and run your TypeScript application in production