Course code: TOP-1
Years with company:
Primary programming language:
Other programming languages:
VERY limited C# & Java
ASM (when necessary)
Ladder Logic (PLC)
Unit test harnesses:
none - unless you count NI's TestStand, which I've used a little bit for functional-level testing (black box and white box)
Most of the code I have developed has been from deeply embedded applications, frequently with no OS.
Test practice now:
The hard way! Depends on the system/application, during development I will try to construct different conditions (HW signals or comm messages) to verify expected operation including error handling (not doing what it should not do)
Current target is STM32 Arm M4 processor running FreeRTOS. Development includes C & C++. Primary function as a weight/force sensor. Primary interface is CAN comms.
IAR Embedded Workbench
We have one! :-) It has been poorly enforced/policed. :-(
Primarily focuses on format, file & function comment styles, code comments, and some name conventions.
Function too long:
If there is a comma in the number of lines long a single function is ... definitely too long. :-/ MY opinion, if it is more than a few pages on the screen, it should be considered for further breakdown into helper functions.
We used to do them! :-/
We had tried the free-form throw it on a projector and everyone talk about it, give comments. Very limited success at trying to methodically walk thru line by line as a group. Also tried a code review tool but not used now
Favorite thing about dev:
Times above total 50% because that is about how much of my time I get to use for coding.
I like making things work / DO something useful.
Least favorite thing about dev:
fighting tool chain issues
Have heard the term, even exposed to some flavor of it a long time ago. At a high level, I believe it is thinking about how you're going to test an app/product BEFORE starting development, and integrating tests into the development process.
Why are you attending:
Because others thought this was the right time to introduce this training while a geographically disperse group are at our sight for other internal training.