Cargando…

Seriously Good Software /

Seriously Good Software is a handbook for any professional developer serious about improving application quality. It explores fundamental dimensions of code quality by enhancing a simple implementation into a robust, professional-quality application. Questions, exercises, and Java-based examples ens...

Descripción completa

Detalles Bibliográficos
Autor principal: Faella, Marco (Autor)
Autor Corporativo: Safari, an O'Reilly Media Company
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Manning Publications, 2020.
Edición:1st edition.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a22000007a 4500
001 OR_on1147974964
003 OCoLC
005 20231017213018.0
006 m o d
007 cr cnu||||||||
008 200320s2020 xx o 000 0 eng
040 |a AU@  |b eng  |c AU@  |d TOH  |d OCLCO  |d CZL  |d OCLCO  |d OCLCQ 
020 |z 9781617296291 
024 8 |a 9781617296291 
029 0 |a AU@  |b 000066971620 
035 |a (OCoLC)1147974964 
082 0 4 |a 005.13/3  |q OCoLC  |2 23/eng/20230216 
049 |a UAMI 
100 1 |a Faella, Marco,  |e author. 
245 1 0 |a Seriously Good Software /  |c Faella, Marco. 
250 |a 1st edition. 
264 1 |b Manning Publications,  |c 2020. 
300 |a 1 online resource (328 pages) 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file 
520 |a Seriously Good Software is a handbook for any professional developer serious about improving application quality. It explores fundamental dimensions of code quality by enhancing a simple implementation into a robust, professional-quality application. Questions, exercises, and Java-based examples ensure you'll get a firm grasp of the concepts as you go. When you finish the last version of the book's central project, you'll be able to confidently choose the right optimizations for your code. 
542 |f © 2020 Manning Publications Co. All rights reserved.  |g 2020 
550 |a Made available through: Safari, an O'Reilly Media Company. 
588 |a Online resource; Title from title page (viewed March 19, 2020) 
505 0 |a Intro -- Copyright -- Brief Table of Contents -- Table of Contents -- Foreword -- Preface -- Acknowledgments -- About This Book -- About the Author -- About the Cover -- Part 1. Preliminaries -- Chapter 1. Software qualities and a problem to solve -- 1.1. Software qualities -- 1.2. Mostly external software qualities -- 1.3. Mostly internal software qualities -- 1.4. Interactions between software qualities -- 1.5. Special qualities -- 1.6. The recurring example: A system of water containers -- 1.7. Data model and representations -- 1.8. Hello containers! [Novice] -- Summary -- Further reading -- Chapter 2. Reference implementation -- 2.1. The code [Reference] -- 2.2. Memory requirements -- 2.3. Time complexity -- 2.4. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Part 2. Software Qualities -- Chapter 3. Need for speed: Time efficiency -- 3.1. Adding water in constant time [Speed1] -- 3.2. Adding connections in constant time [Speed2] -- 3.3. The best balance: Union-find algorithms [Speed3] -- 3.4. Comparing implementations -- 3.5. And now for something completely different -- 3.6. Real-world use cases -- 3.7. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 4. Precious memory: Space efficiency -- 4.1. Gently squeezing [Memory1] -- 4.2. Plain arrays [Memory2] -- 4.3. Forgoing objects [Memory3] -- 4.4. The black hole [Memory4] -- 4.5. Space-time trade-offs -- 4.6. And now for something completely different -- 4.7. Real-world use cases -- 4.8. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 5. Self-conscious code: Reliability through monitoring -- 5.1. Design by contract -- 5.2. Designing containers by contract -- 5.3. Containers that check their contracts [Contracts]. 
505 8 |a 5.4. Containers that check their invariants [Invariants] -- 5.5. And now for something completely different -- 5.6. Real-world use cases -- 5.7. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 6. Lie to me: Reliability through testing -- 6.1. Basic testing notions -- 6.2. Testing containers [UnitTests] -- 6.3. Testability [Testable] -- 6.4. And now for something completely different -- 6.5. Real-world use cases -- 6.6. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 7. Coding aloud: Readability -- 7.1. Points of view on readability -- 7.2. Structural readability features -- 7.3. Exterior readability features -- 7.4. Readable containers [Readable] -- 7.5. Final thoughts on readability -- 7.6. And now for something completely different -- 7.7. Real-world use cases -- 7.8. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 8. Many cooks in the kitchen: Thread safety -- 8.1. Challenges to thread safety -- 8.2. Dealing with deadlocks -- 8.3. Thread-safe containers [ThreadSafe] -- 8.4. Immutability [Immutable] -- 8.5. And now for something completely different -- 8.6. Real-world use cases -- 8.7. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Chapter 9. Please recycle: Reusability -- 9.1. Establishing boundaries -- 9.2. The general framework -- 9.3. A generic container implementation -- 9.4. General considerations -- 9.5. Recovering water containers [Generic] -- 9.6. Social network posts -- 9.7. And now for something completely different -- 9.8. Real-world use cases -- 9.9. Applying what you learned -- Summary -- Answers to quizzes and exercises -- Further reading -- Appendix A. Code golf: Succinctness -- A.1. The shortest I came up with [Golfing]. 
505 8 |a Further reading -- Appendix B. The ultimate water container class -- B.1. Readability enhancements -- B.2. Reliability enhancements -- The programmer's journey -- A list of the main classes from each chapter -- Index -- List of Figures -- List of Tables -- List of Listings. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Functional programming (Computer science) 
650 0 |a JavaScript (Computer program language) 
650 0 |a Computer software  |x Development. 
650 6 |a Programmation fonctionnelle. 
650 6 |a JavaScript (Langage de programmation) 
650 7 |a JavaScript (Computer program language)  |2 fast  |0 (OCoLC)fst00982071 
650 7 |a Functional programming (Computer science)  |2 fast  |0 (OCoLC)fst00936086 
650 7 |a Computer software  |x Development.  |2 fast  |0 (OCoLC)fst00872537 
710 2 |a Safari, an O'Reilly Media Company. 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781617296291/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
936 |a BATCHLOAD 
994 |a 92  |b IZTAP