Course code:
BARR-8
Years with company:
4
Years programming:
4
Primary programming language:
C
Other programming languages:
VB.Net, C++
Unit test harnesses:
none
Something else:
I have my degree in electrical engineering. Now I'm doing all programming. So there are some fundamental software development courses I never took.
Test practice now:
Before learning about TDD, it was tested on the hardware, with my fingers crossed it will still work when out on the field. Now, I've started taking any new code I write, and testing it in a C++ environment on my PC (but not a unit test).
Target system:
Microcontroller running inside of an AC/DC power supply.
Dev tools:
MPLAB X on microchip. However, we are moving towards ARM (I'm unsure on what tools we will be using for that)
Build time:
31-60 seconds
Coding standard:
MISRA-C, as well as an internal coding standard that is enforced by Coverity and Jenkins. (I just follow MISRA-C and I haven't been yelled at during code reviews)
Function too long:
When it can't fit on my screen, or there are more than 2 nested 'if' or 'case' statements.
Code reviews:
We will work on code individually, then the person will issue a Pull Request, and all team members will review each others changes. If every team member agrees the code is good, the PR is merged.
Code time:
10
Test time:
50
Debug time:
40
Favorite thing about dev:
It keeps me busy, and I enjoy being able to write a piece of code, and test it immediately (no need to breadboard a circuit, or get a PCB fab'd).
Least favorite thing about dev:
Bugs, and testing. In hardware, you can just change a capacitor to change that RC filter, without worrying about negative overflows and untested boundary conditions. In firmware...
Tdd knowledge:
First, write the test, then write the code. Then test the code. There are other details (I have your TDD book). But, I don't fully understand the process of actually writing the unit tests, or how to best execute them.
Why are you attending:
I need less bugs in my code. It's hurting our business and our customers.