Название: The Power of Go: Tools, 2024 Edition Автор: John Arundel Издательство: Bitfield Consulting Год: 2023 Страниц: 267 Язык: английский Формат: pdf (true), epub Размер: 10.2 MB
Are you ready to unlock the power of Go, master obviousness-oriented programming, and learn the secrets of Zen mountaineering? If so, The Power of Go: Tools is the perfect next step on your software engineering journey, explaining how to write simple, powerful, robust, and even delightful programs in Go. Includes free updates for life
This friendly, supportive, yet challenging book will show you how master software engineers think, and guide you through the process of designing production-ready command-line tools in Go step by step.
If we can figure out how to break down our unsolved problems into a bunch of mini-problems that have already been solved by existing packages, then we're 90% done.
How do you break down a problem into manageable chunks? How do you test functions before you've written them? How do you design reusable libraries and tools that delight users? These are all questions I’ve encountered many times, and (good news!) The Power of Go: Tools has the answers.
If there's one thing worse than mandatory paperwork, it's mandatory meaningless paperwork.
What you’ll learn It may be fun and easy reading, but this book is also a serious challenge. At each stage there are problems for you to solve, code to write, and design questions to ponder.
Throughout the twelve chapters and 260+ pages, you'll be tested to your limits, as you learn the intricacies of flags and arguments, files and filesystems, commands, shells and pipelines, JSON and YAML wrangling, and even sophisticated API clients.
There are more ways for things to go wrong than for them to go right, so it's totally fine for the majority of our code to be about error handling. Indeed, it's statistically inevitable.
As we work together to develop increasingly powerful and delightful tools in Go, you'll learn how to test behaviour, not functions; how to reduce error-handling boilerplate and eliminate paperwork; and how to make sure the user is the one having fun. Don't think of it as a failing test: think of it instead as a succeeding bug detector.
Who is this book for? There are lots of books that will teach you Go, but not many that will show you what to do with it. In other words, once you’ve learned how to write Go code, what code should you write? This book is aimed at those who have a little experience with Go (or even a lot), and would now like to learn how to build good software with it. What is “good” software anyway? What would it look like in Go? And how do we get there from here? If software engineering is a craft, which it surely is, then how do we go about mastering it? It’s all very well to say “just write programs”, but how? How do we take some problem and start designing a program to solve it? How can we incorporate tests into the design? What are we even aiming to do here? I hope you’ll find at least some useful answers to these questions in this book, which focuses on developing command-line tools, but most of it applies to any kind of Go program.