Tenets of Programming

(Originally published on Programming – Working Wiki.)

A list of reminders to myself of “features” to include in the software I write… These are the basics, the infrastructure stuff that helps to make a program robust. And yes, I know these are pretty elementary “features” – I plan to expand on them in future blog and/or wiki posts.

Note: I’m a Windows-centric kind of guy, mostly using C# with Visual Studio.

  • Every public method should be scriptable – able to be called from Powershell.
  • A GUI application should use background workers.
  • The application’s version number should be easily findable in the GUI, the console output (even for a GUI application), the assembly properties, and the log files.
  • All applications should write information to a log file when debugging is enabled via a switch.
  • All applications should write errors to the Windows Event Log.