Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author Anagnostopoulos, Achilleas, author.

Title Hands-on software engineering with Golang : move beyond basic programming to design and build reliable software with clean code / Achilleas Anagnostopoulos. [O'Reilly electronic resource]

Publication Info. Birmingham, UK : Packt Publishing, 2020.
QR Code
Description 1 online resource (1 volume) : illustrations
Bibliography Includes bibliographical references.
Contents Intro -- Title Page -- Copyright and Credits -- Dedication -- About Packt -- Contributors -- Table of Contents -- Preface -- Section 1: Software Engineering and the Software Development Life Cycle -- Chapter 1: A Bird's-Eye View of Software Engineering -- What is software engineering? -- Types of software engineering roles -- The role of the software engineer (SWE) -- The role of the software development engineer in test (SDET) -- The role of the site reliability engineer (SRE) -- The role of the release engineer (RE) -- The role of the system architect
A list of software development models that all engineers should know -- Waterfall -- Iterative enhancement -- Spiral -- Agile -- Lean -- Eliminate waste -- Create knowledge -- Defer commitment -- Build in quality -- Deliver fast -- Respect and empower people -- See and optimize the whole -- Scrum -- Scrum roles -- Essential Scrum events -- Kanban -- DevOps -- The CAMS model -- The three ways model -- Summary -- Questions -- Further reading -- Section 2: Best Practices for Maintainable and Testable Go Code -- Chapter 2: Best Practices for Writing Clean and Maintainable Go Code
The SOLID principles of object-oriented design -- Single responsibility -- Open/closed principle -- Liskov substitution -- Interface segregation -- Dependency inversion -- Applying the SOLID principles -- Organizing code into packages -- Naming conventions for Go packages -- Circular dependencies -- Breaking circular dependencies via implicit interfaces -- Sometimes, code repetition is not a bad idea! -- Tips and tools for writing lean and easy-to-maintain Go code -- Optimizing function implementations for readability -- Variable naming conventions -- Using Go interfaces effectively
Zero values are your friends -- Using tools to analyze and manipulate Go programs -- Taking care of formatting and imports (gofmt, goimports) -- Refactoring code across packages (gorename, gomvpkg, fix) -- Improving code quality metrics with the help of linters -- Summary -- Questions -- Further reading -- Chapter 3: Dependency Management -- What's all the fuss about software versioning? -- Semantic versioning -- Comparing semantic versions -- Applying semantic versioning to Go packages -- Managing the source code for multiple package versions -- Single repository with versioned folders
Single repository -- multiple branches -- Vendoring -- the good, the bad, and the ugly -- Benefits of vendoring dependencies -- Is vendoring always a good idea? -- Strategies and tools for vendoring dependencies -- The dep tool -- The Gopkg.toml file -- The Gopkg.lock file -- Go modules -- the way forward -- Fork packages -- Summary -- Questions -- Further reading -- Chapter 4: The Art of Testing -- Technical requirements -- Unit testing -- Mocks, stubs, fakes, and spies -- commonalities and differences -- Stubs and spies! -- Mocks -- Introducing gomock
Summary This book distills the industry's best practices for writing lean Go code that is easy to test and maintain and explores their practical application on Links 'R' US: an example project that crawls web-pages and applies the PageRank algorithm to assign an importance score to each one.
Subject Go (Computer program language)
Software engineering.
Go (Langage de programmation)
Génie logiciel.
Go (Computer program language)
Software engineering
Other Form: Print version: Anagnostopoulos, Achilleas. Hands-On Software Engineering with Golang : Move Beyond Basic Programming to Design and Build Reliable Software with Clean Code. Birmingham : Packt Publishing, Limited, ©2020 9781838554491
ISBN 9781838550240
1838550240
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information