Okay, so yeah, man, thanks for the invitation.
This will be a talk about best practices in code development, which is a quite generic
title, but I tried to cover a few things.
So there's a disclaimer.
So basically this talk shows light on a few things to think about when developing and
writing code.
So it's perfectly fine if you say, oh, yeah, I know this already, or it's perfectly logical
every other slide.
But these are things which need to be spoken out to have an actual impact.
So it helps to just repeat this stuff and think of them continuously.
Every one of us would came up with these ideas, so this is nothing new, nothing groundbreaking.
But still, as I said, we should talk about these and then think about these.
So a little introduction to myself.
My name is Tom Ashghar, or just Tom.
You can find me on GitHub, GitHub, Twitter.
I'm a physicist at the Allen Center for Astroparticle Physics, and I'm mainly working on the KM3
net neutrino telescope experiment, and I'm one of the maintainers of the IT services
and infrastructure of KM3 net and ECAP together with Kai and a small group of sysadmins at
our institute.
And yeah, so we were basically the main initiators of integrating these practices into the KM3
net software world, including continuous integration and all the required services and tasks.
Okay, so the roadmap, this is more like a jump and run game, or we go quickly through
it.
It's basically a speed run where we spend a bit more time on some details.
I will start with the source code and then go over to testing and the API stuff, then
versioning, documentation.
And then finally, we talk a bit about automation, contributing and the tooling.
So let's dive in.
Level one, source code.
So the source code serves multiple purposes.
It's of course the actual implementation of your ideas and of your algorithms.
It's the foundation for the documentation because everything is basically defined here
and the documentation has to be built upon this.
It's the home of amazing, hilarious and exotic bugs.
So they really love to live there and you have to take care of them.
It's probably the best place to make others cry.
You often hear people opening source code to look things up and then just grabbing their
heads and asking themselves what happens to them, et cetera.
And last but not least, that's the thing you stare at almost all the time when you're working.
So this means that...
Sorry, it's a bit hanging.
Am I still connected?
Okay, yeah, my Safari hangs, sorry.
So the basic principle is according to Bob, indeed the ratio of time spent reading versus
writing is well over 10 to one.
So we are basically constantly reading old code as part of the effort to write new code.
I think this sentence is quite nice to catch it.
We spend more time reading it than writing it, so we should really make sure that what
we write is readable afterwards.
And it of course begins with the naming.
Zugänglich über
Offener Zugang
Dauer
00:28:02 Min
Aufnahmedatum
2020-07-24
Hochgeladen am
2020-07-24 18:56:27
Sprache
en-US
Speaker
Tamas Gal, Erlangen Centre for Astroparticle Physics
Content
Guiding principles for code developments
The Workshop
The Workshop on Open-Source Software Lifecycles (WOSSL) was held in the context of the European Science Cluster of Astronomy & Particle Physics ESFRI infrastructures (ESCAPE), bringing together people, data and services to contribute to the European Open Science Cloud. The workshop was held online from 23rd-28th July 2020, organized@FAU.
Copyright: CC-BY 4.0