Introduction
Many of us underestimate the importance of proper code documentation through comments. Comments, when used correctly, can greatly increase the maintainability of your functions and routines, especially if there is any chance that another developer will ever need to look at your code. It's hard enough for you to remember what your intentions were for a routine you wrote 5 years ago. Imagine what it's like for someone that has no clue what you meant to do in the first place.
Background
While reading "Code Complete" (every developer, regardless of skill level, age, or programming language should own this book), I discovered a method used to comment your routines that provides so much more than just code comments.
Using the Code
This method is called PDL (Programming Design Language). The basic idea behind PDL is that you write all of the comments for your method before writing any code. Once the comments are finished, you then fill in the blanks with the implementation.
Here is an example:
Public Function CanUserDrink(ByVal Age As Integer, _
ByVal HasLicense As Boolean) As Boolean
End Function
Public Function CanUserDrink(ByVal Age As Integer, _
ByVal HasLicense As Boolean) As Boolean
If Age > 21 Then
If HasLicense Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
A few things to note here:
- All of the comments are formatted logically (indentation)
- When using this method, you write the comments first in a high level format (plain English)
- This allows you to design the routine at a high level of abstraction
- The requirements are in English so the routine is designed such that it can be ported to any language very easily
- All of the thinking work is done up front
- All that's left is to fill in the code under each comment
- The comments written in English explain exactly what you need, so implementation is a breeze
- Since comments are written first, you can be rest assured that all of your methods will be well documented
If another developer is reading through your code, he can simply read your high level comments until he finds the code he needs.
Points of Interest
So as you can see, using PDL has several advantages:
- Assures code is always documented
- Allows for high level design of routine that does not rely on a specific programming language implementation (remember the comments are plain English)
- Once the comments are complete, coding is a snap because the logic has already been documented in plain English in the comments.
I hope you find PDL as beneficial to learn as I have. Don't forget to buy Code Complete!
Until next time.
History
- 27th June, 2010: Initial post