Course code:
WEB-24
Years with company:
13
Years programming:
32
Primary programming language:
C
Other programming languages:
python
Unit test harnesses:
ctest (Chuck Allison),
Unity Test API
Something else:
Wrote open source libraries http://bacnet.sourceforge.net/ and https://github.com/skarg
Contributor to Wireshark
Test practice now:
Using CTest and CI via github, bitbucket, travis, gitlab.
Manual validation.
Target system:
Typically ARM microcontrollers, Atmel AVR, PIC Microship, and others, usually bare metal, sometimes with RTOS. Some target systems are Linux or embedded Linux. Some target systems are Windows PC.
Dev tools:
GCC, Make, IAR, Rowley Crossworks, Segger Embedded Studio, Atmel Studio, STM32 Cube IDE, MPLab X, and others.
Build time:
1-5 minutes
Coding standard:
Wrote it based on Westinghouse, Barr Group, Ganssle, Robert Martin Clean Code, and Wireshark. Follow Ganssle Naming Convention. Follow Clean Code principles.
Function too long:
When it is beyond my screen height.
Code reviews:
Pull request or merge request online via bitbucket (or gitlab or github). Typically check for adhering to coding standard, and adhering to high-cohesion low-couple architecture for code placement.
Code time:
50
Test time:
25
Debug time:
25
Favorite thing about dev:
Creative outlet, helping others, calming and enjoyable to write code.
Least favorite thing about dev:
Managing changing API for releases in public open source software/firmware
Tdd knowledge:
I started using TDD for embedded firmware 2000 after reading an article by Chuck Allison.
Why are you attending:
Learn methods of applying TDD to legacy code, particularly separating GUI and other views from the process and presenter. I usually end up re-writing large amounts of code to add TDD.