Samstag, 25. Juli 2020

Video: The Future of Programming von Robert C. Martin

Robert C. Martin aka Mister Clean Code von seiner besten Seite. Ein schönes Video über die Vergangenheit, den aktuellen Stand und die Zukunft der Sofwareentwicklung. Aber ich will nicht spoilern, seht selbst.

 

Default Values

Um Default Values gibt es immer wieder Diskussion unter Softwareentwicklern und oft sieht man das es scheinbar nicht ausreichend darüber nachgedacht wurde. Bezüglich der Default Values haben sich folgende zwei Regeln bewährt:
  1. Ein guter Name, der keinen Interpretationsspielraum lässt.
  2. Less Surprising Value
Hier ein Beispiel, in Kafka  gibt es ein  Replaction-Factor=1 der dazu benutzt wird die Replikation der Kafka Topics zu konfigurieren um so eine robuste Umgebung zu erhalten.

Was ist daran nun sub-optimal?
  1. Schnellen Programmierern werden leicht übersehen das es sich um den Faktor und nicht die Anzahl der Replikas handelt. So könnte man annehmen das es mindesten ein Replika gibt. Diese Annahme trügt, beim Wert 1 gibt keine Topic Replikation, weil 1 * 1 = 1 ist . Besser wäre wenn das Property nicht Replica-Factor heissen würde sondern Replica-Count. Der Softwareentwickler muss nicht die Hürde der Multiplikation überwinden. Je weniger mentale Barrieren, desto besser.
  2. Der Wert ist 1, das klingt erstmal gut. Trotzdem würde ich erwarten, das wenn man Kafka einsetzt, das die Replikation aktiv ist und das ist hier nicht der Fall. Besser wäre also hier der Wert 2 als Default Value.

Montag, 13. Juli 2020

Gitlab Badges for Maven Jacocoo Test Coverage

  1. Integrate Jacoco into your Maven pom.xml.
  2. Add into your file .gitlab-ci.ymlecho -n "Total:" ; cat target/site/jacoco/index.html | grep -o 'Total[^%]*%' | grep -o -E '[0-9]+%$
  3. Add Badge in Gitlab under Setting.
  4. Gitlab scan the console for the Regex you given in Point 3.