Home Page Icon
Home Page
Table of Contents for
Cover Page
Close
Cover Page
by
Code That Fits in Your Head: Heuristics for Software Engineering
Cover Page
Title Page
Contents at a Glance
Contents
Preface
0.1 Who Should Read This Book
0.2 Organisation
0.3 A note on the bibliography
0.4 Acknowledgements
Part I: Acceleration
Chapter 1. Art or Science?
1.1 Building a house
1.2 Growing a garden
1.3 Towards engineering
1.4 Conclusion
Chapter 2. Checklists
2.1 An aid to memory
2.2 Checklist for a new code base
2.3 Adding checks to existing code bases
2.4 Conclusion
Chapter 3. Tackling Complexity
3.1 Purpose
3.2 Why programming is difficult
3.3 Towards software engineering
3.4 Conclusion
Chapter 4. Vertical Slice
4.1 Start with working software
4.2 Walking Skeleton
4.3 Outside-in
4.4 Complete the slice
4.5 Conclusion
Chapter 5. Encapsulation
5.1 Save the data
5.2 Validation
5.3 Protection of invariants
5.4 Conclusion
Chapter 6. Triangulation
6.1 Short-term versus long-term memory
6.2 Capacity
6.3 Conclusion
Chapter 7. Decomposition
7.1 Code rot
7.2 Code that fits in your brain
7.3 Conclusion
Chapter 8. API design
8.1 Principles of API design
8.2 API design example
8.3 Conclusion
Chapter 9. Teamwork
9.1 Git
9.2 Collective code ownership
9.3 Conclusion
Part II: Sustainability
Chapter 10. Augmenting Code
10.1 Feature flags
10.2 The Strangler Pattern
10.3 Versioning
10.4 Conclusion
Chapter 11. Editing Unit Tests
11.1 Refactoring unit tests
11.2 See tests fail
11.3 Conclusion
Chapter 12. Troubleshooting
12.1 Understanding
12.2 Defects
12.3 Bisection
12.4 Conclusion
Chapter 13. Separation of Concerns
13.1 Composition
13.2 Cross-cutting concerns
13.3 Conclusion
Chapter 14. Rhythm
14.1 Personal rhythm
14.2 Team rhythm
14.3 Conclusion
Chapter 15. The usual suspects
15.1 Performance
15.2 Security
15.3 Other techniques
15.4 Conclusion
Chapter 16. Tour
16.1 Navigation
16.2 Architecture
16.3 Usage
16.4 Conclusion
Appendix A. List of practices
A.1 The 50/72 rule
A.2 The 80/24 rule
A.3 Arrange Act Assert
A.4 Bisection
A.5 Checklist for a new code base
A.6 Command Query Separation
A.7 Count the variables
A.8 Cyclomatic complexity
A.9 Decorators for cross-cutting concerns
A.10 Devil’s Advocate
A.11 Feature flag
A.12 Functional core, imperative shell
A.13 Hierarchy of communication
A.14 Justify exceptions from the rule
A.15 Parse, don’t validate
A.16 Postel’s law
A.17 Red Green Refactor
A.18 Regularly update dependencies
A.19 Reproduce defects as tests
A.20 Review code
A.21 Semantic Versioning
A.22 Separate refactoring of test and production code
A.23 Slice
A.24 Strangler
A.25 Threat-model
A.26 Transformation Priority Premise
A.27 X-driven development
A.28 X out names
Bibliography
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Title Page
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset