Books & Videos

Table of Contents

Chapter: Introduction

Welcome To The Course

01m 50s

About The Author

00m 45s

How To Access Your Working Files

01m 15s

Chapter: Using Val And Var

Overview Of Val And Var

01m 7s

Common Usages Of Val

05m 45s

Common Usages Of Var

05m 27s

Using Var Vs. Mutable Datatypes

07m 17s

Using Var In Loop Contexts

05m 52s

Chapter: Functions As Objects

Storing Defs Inside Of Vars

04m 1s

Storing Functions In Lists And Maps

05m 26s

Abstract Function Bodies When Possible

06m 21s

Functions Should Be Testable

04m 44s

Chapter: Immutable Vs. Mutable

Using Mutable Data Structures

05m 14s

Using Immutable Data Structures

04m 48s

Chapter: Pattern Matching

Do Not Pattern Match For All Statements

03m 9s

Cover All Outcomes Of A Pattern Match

05m 7s

Prefer Value Matches Over Guards When Possible

05m 16s

Prefer To Map/Filter Over An Option Rather Than Pattern Matching

06m 37s

Prefer Pattern Matching To Type Casting

04m 40s

Chapter: Lazy Val

Cost Of A Lazy Val

05m 51s

Common Usages Of Lazy Val

05m 12s

Using A Factory And Lazy Val Pattern

03m 18s

Chapter: Oop

Useless Traits

04m 18s

Using Case Classes Effectively

02m 46s

Instance Methods Invoking Static Methods

03m 32s

No Classes Inside Of Package Objects

03m 27s

Prefer Mixing Over Deep Inheritance

07m 47s

Chapter: Syntax

Do Not Use The Return Keyword

05m 29s

Do Not Use Exceptions For Validation And Flow Of Control

08m 56s

Do Not Use Null

04m 7s

Do Not Use Option.Get

03m 36s

Explicit Return Types

04m 27s

Chapter: Concurrency

Prefer The Actor Model Over Manual Runnable/Thread

05m 43s

Always Prefer A Single Producer

05m 22s

Thread Safety Of Public Apis

04m 30s

Blocking I/O On A Separate Thread Pool

09m 46s

Futures Are Not The End Answer

04m 56s

Prefer An Ask Over Exposing Internal Actor Workings

05m 39s

Actors Should Only Accept Data

06m 36s

Chapter: Advanced Language Features

Avoid Postfix Notation

05m 40s

Avoid Implicit

09m 44s

Avoid Complex Structural Typing

06m 16s

Avoid Dynamic Typing

07m 10s

Chapter: General Programming

Proper Naming Of Variables And Functions

04m 6s

Long Line Splitting

07m 48s

Return Types For Methods

03m 4s

Catch Exceptions When Possible

03m 15s

Self-Documenting Code

04m 43s

Chapter: Conclusion

Wrap Up And Thank You

01m 3s