Infos
11:45 - 12:45
Forum 2+3
Description
We all have experienced that once a software project reaches a byzantine complexity, it becomes easier for bugs and inconsistencies to creep in. The crucial question becomes how to organize large projects to minimize errors and to ensure quality.
In this talk, Philipp Burckhardt will share what control measures were implemented in the open source stdlib library for scientific computing in JavaScript, which consists of more than 1500 packages. The speaker will discuss the merits of extensive unit testing, automatic linting of source files, and the use of style guides to ensure a consistent code style. Human beings make mistakes, whereas machines are consistent and predictable in their behavior. Therefore, automation comes in handy, for example in terms of Git hooks that run tests and lint files when code is committed.
While these steps might be effective and helpful, they pose the danger of creating an unwelcoming environment of strictness. Therefore, any project owner has to think about reconciling strict rules and fun, especially in open source contexts, where community involvement is critical for project survival. Although the investment in tooling and automation may be considerable (and, at times, daunting), the long term rewards of such investment are significant: higher quality software and developer happiness.