in reply to What you should know about your program?
For any given function/subroutine that you either define or invoke in your code, you should know where its usage is documented (parameters, return values, behaviors for error conditions). For functions you have written, this entails that you write documentation for them, or at least know how to extract this information easily from your code. Memorizing all the details about all functions is not required, and is not practical (probably not humanly possible) -- that's why having documentation (and knowing how to get at it) is so important.
As it is with functions/subroutines, so it is also with the inputs and outputs of a given program. This can be a bit daunting when the program is a GUI with lots of flexibility in what the user can do, but even there, it should be possible to describe what the user is expected to provide as input, and achieve as a goal. Such documentation is a courtesy that the programmer owes to the user.
|
|---|