Course code:
CISCO-25
Years with company:
0
Years programming:
10
Primary programming language:
C++
Other programming languages:
Python, C
Unit test harnesses:
personal (C++): doctest, Google Test
Something else:
.
Test practice now:
Lua-based injection into the event loop for most apps, integration testing with expect-based programming for automation.
Personal projects: various C++ unit test frameworks, integration testing. Not much TDD, TBH :(
Target system:
A large set of applications based on the event loop model, all running on a Linux hardware. Apps communicate through shared memory.
Dev tools:
At work: Emacs, Make, Clang, Static analysis
Build time:
2-4 hours
Coding standard:
Very old-style C: top-declaring all variables, gotos, lots of duplicated code.
Not much adherence, no forced linters or things like clang-tidy. Tons of whitespace errors, random indentation strategies. The wild west of legacy code.
Function too long:
When it has multiple "phases", especially if they repeat themselves.
Code reviews:
Many automated tests, lots of internal style things.
Code time:
20
Test time:
30
Debug time:
50
Favorite thing about dev:
Creativity and learning new techniques to increase efficiency, in terms of performance and amount of code needed to be written.
Least favorite thing about dev:
Dealing with legacy code.
Tdd knowledge:
I've done it for higher-level applications (e.g. web apps), but not for native languages. I'm curious how it will be done.
Why are you attending:
I'd like to know how to effectively test native software, as many of the tricks for high-level languages seem to be much more difficult to apply.