Newsletter

Subscribe to our Erlang news letter to receive the latest information from the Erlang world, up to date news on our services and events and our special offers.

On Site Training Offers!

Buy a course for up to 12 people to be held on your premises. If ordered at least 4 weeks in advance, the trainer's travel expenses and travel time are on us... Anywhere in the world!

Get a Free T-Shirt!

Book one of our scheduled courses and get a free T-shirt!

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.