Code by Kevin

About
Code by Kevin, Programming, code, business, and other pursuits

Your Host
Kevin Walzer, software developer.



Home

Subscribe to RSS Feed
Get a syndicated feed of my weblog.

Archives
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006

Categories
Business
Software
General

Privacy Policy

Site design: Skeleton

 

Fri, 23 Mar 2007

Cleaning out cruft

After releasing new versions of NameFind, VuMan, and PacketStream, I'm now embarking on an update and redesign of PortAuthority.

PortAuthority was the first substantial application I developed, and while it has evolved and undergone refinements since I released version 0.1 in 2004, its basic feature set has been stable for the past couple of years. That means I've modified portions of it without looking at the way it's structured as a whole. Now, I'm taking another look at the entire codebase, with an eye toward doing a more substantial redesign and overhaul (not just changing icons or otherwise updating the look, though that's part of it).

All I can say is, Yikes. I've learned a lot since I first started working on PortAuthority, and while I've applied those smarts to my more recent programs, they haven't found their way to PortAuthority.

For instance: sometime over the past few months, I developed a little Tcl library that popped up a password dialog box, and then returned the password data to execute a command with root privileges. I got tired of cutting and pasting this kind of code from one application to another; it's the kind of thing that, with a little work, can be made generic and thus usable in any application.

Integrating this library into PortAuthority has eliminated about 500 lines of code. Over the years, I have added near-duplicate-but-slightly-different code snippets to pop up separate dialog boxes for five or six separate commands. That's dumb. Redundant. A waste of time.

Cleaning out this cruft is necessary. It's not the same as rewriting an application from scratch; it's cleanup. The visible result to end users of PortAuthority will be a nicer-looking application; the result for me will be an application that is easier to maintain and update.

[/general] permanent link