Het zou fijn zijn als de code ook bereikbaar zou zijn; dan kunnen mensen eenvoudig patches insturen.
https://p1netduinoplusv2....ceControl/list/changesets is nu niet bruikbaar.
In bovenstaand snippet vallen mij (in het dagelijks leven .NET ontwikkelaar) een paar dingen op en ik wil hier graag met de makers over van gedachten wisselen.
Ik weet dat code schrijven erg persoonlijk kan zijn en ik hoop dat mijn tips niet te betweterig overkomen
• Try-catch-veeg-onder-de-mat (zoals hier) maakt je leven als ontwikkelaar heel moeilijk, catch-add-to-log is al iets beter en je programma dood laten gaan (na loggen natuurlijk

) zorgt er voor dat bugs het snelst worden gevonden - en opgelost.
• Constanten zijn al goed uitgesplitst; het maakt de code nog overzichtelijker als gerelateerde constanten (zoals alle delimiters) bij elkaar gedefinieerd zijn.
• een methode met een lengte als P1DataRecievedHandler past niet op je scherm en uiteindelijk ook niet meer in je hoofd. Ik zou bijvoorbeeld aanraden de body van If strTelegram.Length > 400 Then... te refactoren naar een eigen methode.
• Don't Repeat Yourself: de case-bodies zijn in wezen allemaal hetzelfde; ze verschillen alleen in delimiter en welk property van p1Now beschreven wordt. Ook hier wordt je leven makkelijker door te refactoren

• Thread.Abort met Sleep is nogal drastisch. Netter is op een
stopsignaal te wachten in de thread en als die moet stoppen, het signaal geven en daarna Thread.Join(timeout) te doen. Als dat faalt kan een Abort altijd nog, maar dan is er wel wat mis.