Erlang Do and Dont's

Target Audience: Software Developers,

Prerequisites: Erlang programming experience.

Objectives:

  • In-depth understanding of the good and bad programming practices.
  • Understand how to write readable and maintainable code.
  • Understand how to write efficient code.

Duration: One day

The Erlang Do and Don'ts seminar is aimed at designers with a few months Erlang programming experience. The seminar lasts a day and where applicable, participants review code from the project they are involved in. This code is then rewritten using the overhead projector to demonstrate course participants alternative ways of reasoning when rewriting and cleaning up code. We warmly recommend this seminar prior to code reviews and rewrites.

Course Contents


The Erlang Do and Don'ts is a seminar covering programming style guidelines, coding strategies, Erlang specific conventions, as well as guidelines on how to write efficient and effective programs.

 

The Erlang Do and Don'ts seminar is aimed at designers with a few months Erlang programming experience. The seminar lasts a day and where applicable, participants review code from the project they are involved in. This code is then rewritten using the overhead projector to demonstrate course participants alternative ways of reasoning when rewriting and cleaning up code. We warmly recommend this seminar prior to code reviews and rewrites.

Course Contents

 


Modules & Interfaces
The Modules and Interfaces section discusses how subsystems should be structured, looking at internal and external interfaces, inter module dependencies and data encapsulation.

Concurrency
The concurrency section looks at issues involving processes, message passing, and concurrency error handling. The strategies involved in developing a concurrent system are discussed. A look at message passing, and how errors in that area can be avoided or easily detected is covered alongside fault isolation in processes.

Coding Strategies
The coding strategies section deals with how the code should be structured so as to facilitate debugging and maintenance. Some of the issues taken up include side effects, determinism and defensive programming.

Stylistic Conventions
This section starts by covering stylistic conventions that could in theory be applied to any programming language. They include issues such as deeply nested code, long functions or modules. It then goes on to discuss Erlang specific conventions such as choice of flexible data types, variable usage, tagged values and dangerous constructs such as the process dictionary or catch and throw.

Efficiency & Do and Don'ts
Erlang efficiency in regard to the internal virtual machine implementation is discussed here. It includes pattern matching, message passing, the usage of effective data types, and binaries when handling large amounts of data.