Skip to Content
Scala Cookbook, 2nd Edition
book

Scala Cookbook, 2nd Edition

by Alvin Alexander
August 2021
Intermediate to advanced
799 pages
17h 41m
English
O'Reilly Media, Inc.
Content preview from Scala Cookbook, 2nd Edition

Chapter 24. Best Practices

When I first came to Scala from Java in 2010, I was happy with the small things, such as eliminating a lot of ;, (), and {} characters, and working with a less verbose language that reminded me of Ruby. Not knowing much about the history of programming languages, I thought of Scala as being “Ruby with types,” and all of these were nice little wins that made for “a better Java.”

Over time, I wanted to add more to my repertoire and use Scala the way it’s intended to be used. As Ward Cunningham is quoted in the book Clean Code by Robert C. Martin (Prentice Hall), I wanted to write code that “makes it look like the language was made for the problem,” so I learned the collections classes and their methods, for expressions, match expressions, and modular development. That’s what this chapter is about: trying to share some of the best practices of Scala programming so you can write code in the “Scala way.”

Before jumping into the recipes in this chapter, here’s a short summary of the best Scala practices I know.

At the application level:

  • As Martin Odersky has stated, write functions for the logic, and create objects for the modularity.

  • When you write functions, try to write as many of them as you can as pure functions. Following the 80/20 rule, this is like writing 80% of your application as pure functions, with a thin layer of other code on top of those functions for things like I/O. As someone once wrote, it’s like putting a thin layer of impure icing ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Programming Scala, 2nd Edition

Programming Scala, 2nd Edition

Dean Wampler, Alex Payne
Functional Programming in Scala, Second Edition

Functional Programming in Scala, Second Edition

Runar Bjarnason, Michael Pilquist, Paul Chiusano

Publisher Resources

ISBN: 9781492051534Errata Page