Better Coding Practices

Event Start Date 04 May 2017
Event End Date 04 May 2017
Location Lausanne, Switzerland

Overview

One of the major challenges in any modern development environment is "code rot". Your codebase starts out well-designed, well-structured, and well-implemented, but in six months it's a writhing miasma of inconsistent, incoherent, incomprehensible line-noise.

The problem isn't inherent to the particular programming language you're using, nor was it caused by the inherent structure of your software. The problem is that, while every developer is taught how to design good programs, and how to implement good solutions, very few are ever taught how to actually write good code. It's as though book authors were shown how to plot stories and arrange chapters, but never shown how to construct an actual sentence, or even how to spell correctly.

This full day course addresses that omission, by focusing on practical guidelines and techniques for writing code (in any modern language) that is maintainable, robust, and efficient.

The class covers:

  • Code as communication
  • Code as documentation
  • Code as affordance
  • The psychology of reading code (vs writing code)
  • Minimizing debugging by eliminating "enbugging"
  • Developing reliable and consistent coding habits: how, what, and why

In particular, it offers simple and practical techniques for:

  • Better code layout
  • Clearer naming conventions
  • Effective datatype selection
  • Cleaner API design
  • More robust error handling
  • Usable internal and external documentation

Taking one day to step back and focus on the fundamentals of actually writing code might seem trivial or unproductive, but it can be surprisingly powerful and effective: the unexpected key to creating cleaner, more robust, and more maintainable codebases.

This class is taught by Damian Conway, a well-known speaker and lecturer (see his official biography or his Wikipedia page). Damian already lectured at SIB several times, and consistently received amazing feedback about his courses.

Audience

Anyone who programs.

Learning objectives

At the end of this class, participants will be able to:

  • write code that is easy to read and understand;
  • use a coding style that minimize the chance of introducing errors in their programs;
  • choose code features that are efficient, minimize resource requirements and scale economically to real-world datasets;
  • choose a coding style that ensure maintainability of their projects.

Prerequisites

There is no pre-requisite for this course.

Application

The registration fee for academics is 100 CHF, otherwise 300 CHF. This includes printed course material. Since the course is subsidised by EPFL, participants registering with an EPFL email address will pay only 50 CHF.

Deadline for registration and free-of-charge cancellation is set to 24 April. Participants who cancel after this date will not be reimbursed. Please note that participation to SIB courses is subject to this and other general conditions, available at http://www.sib.swiss/training/terms-and-conditions

You will be informed by email of your registration confirmation.

Location

University of Lausanne or EPFL

Additional information

This course is co-organized by the SIB and the EPFL.

Coordination: Frédéric Schütz, Training group at SIB

You are welcome to register to the SIB courses mailing-list to be informed of all future courses and workshops, as well as all important deadlines using the form here.

Please contact This email address is being protected from spambots. You need JavaScript enabled to view it. if you have any question.