Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
INTRODUCTION
THE RISE OF JAVASCRIPT AS A FIRST-CLASS LANGUAGE
THE EASE OF WRITING TRULY DISASTROUS CODE IN JAVASCRIPT
THE EASE OF UNINTENTIONALLY BREAKING JAVASCRIPT CODE
THIS BOOK'S INTENDED AUDIENCE
HOW THIS BOOK IS STRUCTURED
WHAT YOU NEED TO USE THIS BOOK
CONVENTIONS
SOURCE CODE
ERRATA
P2P.WROX.COM
PART I: LAYING A SOLID FOUNDATION
CHAPTER 1 PRACTICING SKILLFUL SOFTWARE ENGINEERING
WRITING CODE THAT STARTS CORRECT
WRITING CODE THAT STAYS CORRECT
SUMMARY
CHAPTER 2 TOOLING UP
USING A TESTING FRAMEWORK
USING A DEPENDENCY-INJECTION FRAMEWORK
USING AN ASPECT TOOLKIT
USING A CODE-CHECKING TOOL
SUMMARY
CHAPTER 3 CONSTRUCTING RELIABLE OBJECTS
USING PRIMITIVES
USING OBJECT LITERALS
USING THE MODULE PATTERN
USING OBJECT PROTOTYPES AND PROTOTYPAL INHERITANCE
CREATING OBJECTS WITH NEW
USING CLASSICAL INHERITANCE
USING FUNCTIONAL INHERITANCE
MONKEY-PATCHING
SUMMARY
PART II: TESTING PATTERN-BASED CODE
CHAPTER 4 REVIEWING THE BENEFITS OF PATTERNS
CASE STUDY
PRODUCING MORE ELEGANT CODE BY USING A BROADER VOCABULARY
PRODUCING RELIABLE CODE WITH WELL-ENGINEERED, WELL-TESTED BUILDING BLOCKS
SUMMARY
CHAPTER 5 ENSURING CORRECT USE OF THE CALLBACK PATTERN
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
AVOIDING PROBLEMS
SUMMARY
CHAPTER 6 ENSURING CORRECT USE OF THE PROMISE PATTERN
UNDERSTANDING PROMISES THROUGH UNIT TESTS
CHAINING PROMISES
USING A PROMISE WRAPPER
UNDERSTANDING STATES AND FATES
DISTINGUISHING STANDARD PROMISES FROM JQUERY PROMISES
SUMMARY
CHAPTER 7 ENSURING CORRECT USE OF PARTIAL FUNCTION APPLICATION
UNIT-TESTING A PARTIAL FUNCTION APPLICATION
CREATING AN ASPECT FOR PARTIAL FUNCTION APPLICATION
DISTINGUISHING BETWEEN PARTIAL FUNCTION APPLICATION AND CURRYING
SUMMARY
CHAPTER 8 ENSURING CORRECT USE OF THE MEMOIZATION PATTERN
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
ADDING MEMOIZATION WITH AOP
SUMMARY
CHAPTER 9 ENSURING CORRECT IMPLEMENTATION OF THE SINGLETON PATTERN
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
SUMMARY
CHAPTER 10 ENSURING CORRECT IMPLEMENTATION OF THE FACTORY PATTERN
WRITING UNIT TESTS FOR A FACTORY
IMPLEMENTING THE FACTORY PATTERN
CONSIDERING OTHER FACTORY TYPES
SUMMARY
CHAPTER 11 ENSURING CORRECT IMPLEMENTATION AND USE OF THE SANDBOX PATTERN
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
SUMMARY
CHAPTER 12 ENSURING CORRECT IMPLEMENTATION OF THE DECORATOR PATTERN
DEVELOPING A DECORATOR THE TEST-DRIVEN WAY
SUMMARY
CHAPTER 13 ENSURING CORRECT IMPLEMENTATION OF THE STRATEGY PATTERN
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
SUMMARY
CHAPTER 14 ENSURING CORRECT IMPLEMENTATION OF THE PROXY PATTERN
DEVELOPING A PROXY THE TEST-DRIVEN WAY
SUMMARY
CHAPTER 15 ENSURING CORRECT IMPLEMENTATION OF CHAINABLE METHODS
UNDERSTANDING THE PATTERN THROUGH UNIT TESTS
CHAINING THEN
SUMMARY
PART III: TESTING AND WRITING WITH ADVANCED JAVASCRIPT FEATURES
CHAPTER 16 CONFORMING TO INTERFACES IN AN INTERFACE-FREE LANGUAGE
UNDERSTANDING THE BENEFITS OF INTERFACES
UNDERSTANDING THE INTERFACE SEGREGATION PRINCIPLE
USING TEST-DRIVEN DEVELOPMENT TO CREATE A CONTRACT REGISTRY
SUMMARY:
CHAPTER 17 ENSURING CORRECT ARGUMENT TYPES
UNDERSTANDING THE OPPORTUNITIES AND RISKS POSED BY JAVASCRIPT’S TYPE-FREE PARAMETERS
EXTENDING THE CONTRACTREGISTRY TO CHECK ARGUMENTS
SUPPORTING CONTRACT LIBRARIES
PUTTING IT ALL TOGETHER
COMPARING THE ASPECT-ORIENTED SOLUTION TO A STATIC SOLUTION
SUMMARY
CHAPTER 18 ENSURING CORRECT USE OF CALL, APPLY, AND BIND
EXPLORING HOW THIS IS BOUND
CREATING AND TESTING CODE THAT USES CALL, APPLY, AND BIND
SUMMARY
CHAPTER 19 ENSURING CORRECT USE OF METHOD-BORROWING
ENSURING THE BORROWING OBJECT IS SUITABLE
ANTICIPATING SIDE EFFECTS ON THE BORROWER
ANTICIPATING SIDE EFFECTS ON THE DONOR OBJECT
SUMMARY
CHAPTER 20 ENSURING CORRECT USE OF MIXINS
CREATING AND USING MIXINS
SUMMARY
CHAPTER 21 TESTING ADVANCED PROGRAM ARCHITECTURES
ENSURING RELIABLE USE OF THE OBSERVER PATTERN
ENSURING RELIABLE USE OF THE MEDIATOR PATTERN
SUMMARY
PART IV: SPECIAL SUBJECTS IN TESTING
CHAPTER 22 TESTING DOM ACCESS
UNIT-TESTING UI
OPTIMIZING YOUR CODE WITH A PROFILER
SUMMARY
CHAPTER 23 ENSURING CONFORMANCE TO STANDARDS
USING ESLINT
ENFORCING ARCHITECTURAL DIVISIONS
SUMMARY
PART V: SUMMARY
CHAPTER 24 SUMMARY OF THE PRINCIPLES OF TEST-DRIVEN DEVELOPMENT
RECALLING WHY TEST-DRIVEN DEVELOPMENT IS WORTHWHILE
PRACTICING TEST-DRIVEN DEVELOPMENT
SUMMARY
CHAPTER 25 SUMMARY OF JAVASCRIPT IDIOMS IN THIS BOOK
REVIEWING OBJECTS
REVIEWING VARIABLES
REVIEWING FUNCTIONS
REVIEWING BOOLEAN OPERATIONS
SUMMARY
INDEX
EULA
← Prev
Back
Next →
← Prev
Back
Next →