Time wasted on conflicting "truths"

Bjørn Hamre

Lightning talk - in English

In today’s applications we tend to use a lot of libraries and frameworks in our code. When two or more of these “meet" in the same part of our code we have to be cautious. Often they have different ways of expressing the same constraint or feature. When developers are not thorough enough or code changes over time, it's easy to end up with conflicting expressions. A lot of time is then spent trying to remember, find requirements or hunting down someone who can remember what the “truth” is.

 

In this humorous lightning talk I will show examples from actual code that demonstrates this. I hope the audience will react with smiles and/or head shaking. My goal with this talk is not to show how stupid some developers are, but have the audience focus on these examples and thereby maybe not do the same mistakes themselves or being able to spot the same mistakes in their own code. After all, we all want to reduce the number of bugs in or code and reduce the time spent being a detective and hunting down which library that gets it right.

An example is :

Jackson’s @JsonProperty, which has required=false by default, used together with Kotlin’s data types that cannot be null. 

@JsonProperty name: String