Course code: WEB-34
  • Years with company: 2
  • Years programming: 4
  • Primary programming language: C, C++
  • Other programming languages: C# for test app development
  • Unit test harnesses: Just standalone test apps.
  • Something else: I wanted to take this course so I can adopt TDD early in my career. Currently I don't have that skillset.
  • Test practice now: Initially when setting up communications - extensively use logic analyzer. Usually standalone test apps for other tests - to check data input crcs, frequency etc.
  • Target system: Usually ARM based microcontroller (Mostly ST - F4, F7) projects.
  • Dev tools: Uvision Keil, Visual studio, Eclipse
  • Build time: Under 10 seconds
  • Coding standard: MISRA C++ 2008 - AV also has a small subset that differs from the MISRA standard a little bit. The challenge in following these standards is legacy code lot of times did not follow these standards.
  • Function too long: When it is trying to do too many things in one routine. Also, if at all a functionality is reusable in other sections of code, it should definitely be a separate function so there isn't duplicated code in places.
  • Code reviews: Usually we would do SVN Diff for modifications and do an informal review. We have started migrating to Crucible for formal reviews. It can pull the changes from SVN and track code review comments which are marked as unresolved until resolution.
  • Code time: 40
  • Test time: 30
  • Debug time: 30
  • Favorite thing about dev: For embedded software, I really like how closely the hardware interacts with software. To see a good end product with well tested software is really fulfilling.
  • Least favorite thing about dev: Working with convoluted legacy code at times (which has underlying unexposed vulnerabilities)
  • Tdd knowledge: My manager told me about it.
  • Why are you attending: As mentioned above, I just want to adopt TDD practices early on my career. Want to make good coding practices a habit!