small medium large xlarge

Swift Style: An Opinionated Guide to an Opinionated Language


Cover image for Swift Style

Swift Style

An Opinionated Guide to an Opinionated Language


Discover the do’s and don’ts involved in crafting readable Swift code as you explore common Swift coding challenges and the best practices that address them. From spacing, bracing, and semicolons to proper API style, discover the whys behind each recommendation, and add to or establish your own house style guidelines. This practical, powerful, and opinionated guide offers the best practices you need to know to work successfully in this equally opinionated programming language.

Choose Your Format(s)

  • $19.95 In Stock
    • Beta: What do I get?

  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 224 (est)
Published: 2017-03-10
Release: B4.0 (2017-03-10)
ISBN: 978-1-68050-235-0

Apple’s Swift programming language has finally reached stability, and developers are demanding to know how to program the language properly. Swift Style guides you through the ins and outs of Swift programming best practices. This is the first best practices book for serious, professional Swift programmers and for programmers who want to shine their skills to be hired in this demanding market.

A style guide offers a consistent experience of well-crafted code that lets you focus on the code’s underlying meaning, intent, and implementation. This book doesn’t offer canonical answers on Swift coding style. It explores the areas of Swift where structure comes into play. Whether you’re developing a personal style or a house style, there are always ways to enhance your code choices. You’ll find here the ideas and principles to establish or enhance your own best style practices.

Begin with simple syntactical styling. Strengthen code bracing for easy readability. Style your closures for safety and resilience. Perfect spacing and layout. Master literal initialization and typing. Optimize control flow layout and improve conditional style choices. Transition from Objective-C and move code into Swift the right way. Boost API design using proper naming and labeling. Elevate defaulted arguments and variadics to their right places. Finally, Erica offers her own broad recommendations on good coding practice.

What You Need

Recent version of the Swift programming language

Contents & Extracts

This book is currently in beta, so the contents and extracts will change as the book is developed.

  • Welcome to Swift Style
    • How This Book Got Here
    • Your code doesn’t smell
    • What’s in this book
    • Contributing to this book
    • Online Resources
    • Ready to Get Going?
    • Thanks
  • Structure Your Code for Readability
    • Taking Control of Swift Structure
    • Understanding Swift Semicolons
    • Styling Colinear Braces
    • Hugging Parenthesis
    • Wrapping Argument Lists
    • Improving Closure Hygiene excerpt
    • Choosing Trailing Closures
    • Laying Out Curried Elements
    • Laying Out Complex guard Statements
    • Laying Out Ternaries
    • Laying Out Long Collections
    • Weighing Late Property Declaration
    • Wrapping Up
  • Adopt Conventional Styling
    • Adopting Conventional Spacing
    • Mandating Maximum Line Widths
    • Selecting Colon Styles excerpt
    • Placing Attributes
    • Formatting Number Literals
    • Balancing Literals and Types
    • Constructing Collections with Literals
    • Optional Sugar
    • Mitigating Optional Constipation
    • Converting to Tuples
    • Considering Comma-First Styles
    • Wrapping Up
  • Establish Preferred Practices
    • Testing Assumptions
    • Choosing Optionals
    • Converting Collection Lookup to Optionals
    • Casting Conditionally
    • Chaining Calls
    • Moving from Thrown Errors to Optionals
    • Unwrapping Variables
    • Mapping in Condition Clauses
    • Iterating Collections of Optionals
    • Working with Optional Collections
    • Choosing Result Types
    • Adding Lazy Evaluation
    • Selecting Sequences and Strides
    • Looping
    • Indexing and Enumerating Collections
    • Switch Statements
    • Declaring Numbers
    • Implementing Getters and Setters
    • Returning Void
    • Grouping Initializers
    • Using Call Site Inferencing
    • Evaluating Case Binding Syntax excerpt
    • Using If/Guard-Case
    • Choosing Capture Modifiers
    • Refactoring Opportunities
    • Wrapping Up
  • Design the Right APIs
    • Adopting Access Control
    • Avoiding Global Symbols
    • Nesting Functions
    • Nesting Types
    • Choosing Singletons
    • Incorporating Custom Operators
    • Naming Symbols
    • Convenience Initializers
    • Naming Labels
    • Naming Methods and Functions
    • Computed Properties vs Methods
    • Generic Beautification
    • Be Clear, Precise, and Formal
    • Adding Defaults
    • Variadic Arguments
    • Adding Typealiases
    • Improving Code Descriptions
    • Choosing Value vs Reference Types
    • Recognition Quiz Answers
    • Wrapping Up
  • Look to the Past and the Future
    • Moving on From Objective C
    • Reconciling Past You vs Future You
    • Be Professional
    • Write Good Errors
    • Don’t Be Clever
  • Good Code


Erica Sadun enjoys deep diving into technology and has written, co-written, and contributed to dozens of books about computing and digital media. Erica has blogged at TUAW, Ars Technica, O’Reilly, and Lifehacker, and has (to date) authored or co-authored more Swift proposals than anyone, including everyone on Apple’s Core Team.