Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Foreword Acknowledgments Welcome!
Who Should Read This Book Why Read This Book? How to Read This Book Online Resources Get Ready for Your Mission to Mars
1. Start Cleaning Up
Avoid Unnecessary Comparisons Avoid Negations Return Boolean Expressions Directly Simplify Boolean Expressions Avoid NullPointerException in Conditionals Avoid Switch Fallthrough Always Use Braces Ensure Code Symmetry What Have You Learned?
2. Level Up Your Code Style
Replace Magic Numbers with Constants Favor Enums Over Integer Constants Favor For-Each Over For Loops Avoid Collection Modification During Iteration Avoid Compute-Intense Operations During Iteration Group with New Lines Favor Format Over Concatenation Favor Java API Over DIY What Have You Learned?
3. Use Comments Wisely
Remove Superfluous Comments Remove Commented-Out Code Replace Comments with Constants Replace Comments with Utility Methods Document Implementation Decisions Document Using Examples Structure JavaDoc of Packages Structure JavaDoc of Classes and Interfaces Structure JavaDoc of Methods Structure JavaDoc of Constructors What Have You Learned?
4. Name Things Right
Use Java Naming Conventions Follow Getter/Setter Conventions for Frameworks Avoid Single-Letter Names Avoid Abbreviations Avoid Meaningless Terms Use Domain Terminology What Have You Learned?
5. Prepare for Things Going Wrong
Fail Fast Always Catch Most Specific Exception Explain Cause in Message Avoid Breaking the Cause Chain Expose Cause in Variable Always Check Type Before Cast Always Close Resources Always Close Multiple Resources Explain Empty Catch What Have You Learned?
6. Assert Things Going Right
Structure Tests Into Given-When-Then Use Meaningful Assertions Expected Before Actual Value Use Reasonable Tolerance Values Let JUnit Handle Exceptions Describe Your Tests Favor Standalone Tests Parametrize Your Tests Cover the Edge Cases What Have You Learned?
7. Design Your Objects
Split Method with Boolean Parameters Split Method with Optional Parameters Favor Abstract Over Concrete Types Favor Immutable Over Mutable State Combine State and Behavior Avoid Leaking References Avoid Returning Null What Have You Learned?
8. Let Your Data Flow
Favor Lambdas Over Anonymous Classes Favor Functional Over Imperative Style Favor Method References Over Lambdas Avoid Side Effects Use Collect for Terminating Complex Streams Avoid Exceptions in Streams Favor Optional Over Null Avoid Optional Fields or Parameters Use Optionals as Streams What Have You Learned?
9. Prepare for the Real World
Use Static Code Analysis Tools Agree On the Java Format in Your Team Automate Your Build Use Continuous Integration Prepare for and Deliver Into Production Favor Logging Over Console Output Minimize and Isolate Multithreaded Code Use High-Level Concurrency Abstractions Speed Up Your Program Know Your Falsehoods What Have You Learned?
Bibliography
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion