Course code: BECK-1
  • Years with company: 14
  • Years programming: 35
  • Primary programming language: C++
  • Other programming languages: C#, Java, C
  • Unit test harnesses: Google Test/Google Mock
  • Something else: I am very interested in secure design/coding.
  • Test practice now: For automated testing, most recently we use Google Test/Google Mock. Prior to this, we used a homegrown solution that is comprised of a collection of Perl scripts. We also do manual testing.
  • Target system: Board with an Intel Atom CPU running embedded Linux with real-time extensions.
  • Dev tools: Visual Studio 2017
  • Build time: 1-5 minutes
  • Coding standard: It contains the following: (1)Naming conventions (2)Conventions for functions (3)Conventions for unit test code (4)Conventions for exception handling (5)Design conventions (e.g., Law of Demeter)
  • Function too long: There are a few indicators we use. The main two indicators are: (1)The function implements more than one responsibility (2)The function is more than 20 lines of code (C++)
  • Code reviews: We first personally inspect our own code, using a checklist-driven approach. After the personal inspection, there is an inspection by one or more teammates (usually two).
  • Code time: 40
  • Test time: 40
  • Debug time: 20
  • Favorite thing about dev: Designing solutions for complex problems.
  • Least favorite thing about dev: Having to work with poorly documented APIs and tools.
  • Tdd knowledge: Just what I have learned from reading books (e.g., Clean Code). I have done test-first development, but not TDD.
  • Why are you attending: I want to learn how to apply TDD in an embedded environment, since I currently am working on an embedded project.