So I am going through the book The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin (AKA Uncle Bob)

In chapter 1, section know your field, a list of artifacts is mentioned that you should know as a programmer. If you don’t know these things then apparently you suck, so let’s see how many of these do you know?

  • Parnas Tables
  • Nassi-Schneiderman Charts
  • UML
  • Data Flow Diagram
  • Structure Charts
  • Petri Nets
  • State Transition Diagrams and Tables
  • Flow Charts
  • Decision Tables
  • Tramp Data

What is your count? Leave a comment with your count, it will be interesting to see how many people actually know all these things.

I knew only six of these things by name. However when I looked them up I realized that I have used or seen almost all of them, even though I did not know what the correct name was for them

Tramp Data was an interesting one, I did not know that term. Tramp Data is data which is passed from one function to another, and not used by the first function.

What do you think, should all programmers know all of these artifacts?