O'Reilly logo
live online training icon Live Online training

Angular Next Steps: Patterns for Clean Code

Topic: Programming
Brice Wilson

The term "clean code" is most often used to describe code that's easy to read, follow, and understand. But an equally important aspect of clean code is that it adheres to the idioms of the language and framework being used.

Expert Brice Wilson shows you how to write code that meets the clean coding criteria in your Angular applications. You’ll explore multiple techniques to create and structure your Angular apps following accepted best practices—helping you deliver easy-to-maintain, performant apps that meet your customers’ needs. Along the way, you'll learn nine simple, actionable rules to guide your Angular development.

What you'll learn-and how you can apply it

By the end of this live online course, you’ll understand:

  • Why clean code is important
  • Where to start refactoring existing code
  • How to write for readability and why you should eliminate code you don’t need
  • The capabilities of Angular’s tools and how they encourage clean code
  • The role application architecture plays in ease of maintenance

And you’ll be able to:

  • Create components, services, and modules with the Angular CLI
  • Refactor the structure and architecture of your applications
  • Follow best practices defined by the Angular development team
  • Configure the TypeScript compiler for optimal benefit on an Angular project

This training course is for you because...

  • You’re an Angular developer building client-side web apps.
  • You work with Angular, TypeScript, HTML, and CSS.
  • You want to become a senior web developer or solution architect.

Prerequisites

  • Familiarity with Angular and TypeScript

A computer with the following installed:

  • The current LTS version of Node.js (12.x.x)
  • npm (6.9.0+)
  • The Angular CLI (version 8.x.x or greater)
  • TypeScript (version 3.5.x or greater)
  • Git

Clone the code from the course GitHub repository and install required npm packages

Recommended follow-up:

About your instructor

  • Brice Wilson is a professional developer with over 20 years’ experience. He’s been a developer and architect for a number of large companies, using a great many tools and programming languages. He enjoys learning, experimenting with, and teaching new technologies. His current interests are centered on web services, single-page web applications, and native mobile development.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

The fundamentals of clean Angular code (30 minutes)

  • Presentation: Understanding and using the Angular Style Guide; choosing how to write code, when not to write code, and when to delete code
  • Hands-on exercise: Find the appropriate style guideline and refactor an existing application method to follow it
  • Group discussion: When do you choose to delete code (or not)?
  • Q&A

Configuring the TypeScript compiler (25 minutes)

  • Presentation: Common compiler options that encourage clean code; using multiple tsconfig.json files
  • Hands-on exercise: Configure a project with multiple tsconfig.json files
  • Q&A

Break (5 minutes)

Using the Angular CLI (20 minutes)

  • Presentation: Creating clean code with the Angular CLI
  • Hands-on exercise: Use the CLI to create a new component and service
  • Group discussion: How likely are you to use the CLI going forward?
  • Q&A

Creating custom libraries (20 minutes)

  • Presentation: Sharing code across applications with custom libraries
  • Hands-on exercise: Using the CLI to create a custom library
  • Q&A

Project organization best practices (15 minutes)

  • Presentation: Organizing the code in your project
  • Q&A

Break (5 minutes)

Angular architecture best practices (45 minutes)

  • Presentation: Clean architecture with feature modules
  • Hands-on exercise: Creating and configuring feature modules
  • Q&A

Coding with empathy (5 minutes)

  • Presentation: Coding with empathy for users and developers

Wrap-up and Q&A (10 minutes)