Skip to main content

The Hard Way...

Many people will agree to the age old addage that "there are many ways to skin a cat". In programming, and even in system administration, there are different types of programmers and different types of administrators. Paintors, poets, journalists, they each all have differences in styles. Somtimes though, too much diversification leads to chaos. Which isn't necessarily a bad thing, it's just more inconvenient to have "too many ways of doing things".

I am currently working on a software development project which takes a lot of time designing and implementing. Although there is a general approach to what is going to happen, there are a few things that have to be put in place before you even write a single line of code. And one of these is coding standards -- how do you document your code, what to do in certain situations, etc.

Through the software development process, I have found out that proper documentation of code is really REALLY necessary. A job ago, I had to deal with the source code for something I only encountered for the first time, and had to hack at it to make it work the way my boss wanted it to work. It was open source (public domain even IIRC), but the code didn't have very useful documentation for developers. And when reading code without documentation, usually the brain gets overworked because it's meant to understand concepts -- not act like a compiler. Although you can train your brain to do automatic decoding and syntax validation, human error is still the main source of problems in software development.

I thought it would change with my current job, but then since there are deadlines to beat, processes to follow, and guidelines to abide by, it becomes a lot harder than I originally thought. So anyway, I started documenting my work the hard way -- with pencil and paper. It was all nice and dandy for like the first week, but I still wanted to read documentation as I read through the source. So I scrapped the notebook, put it in the drawer, and I instead used inline comments.

The bad thing about inline comments is that they don't usually give very nice descriptions about what the actual thing does -- sometimes you're in full logical mode, that the comments already look like code. Some other times, you feel like in novel-writer mode that the code now looks more english than ever (which is supposedly a good thing, but when you need to type it down, that's something else).

So today, I resolved to write the documentation using doxygen -- doing inline documentation, and when the code is compiled and works according to the unit tests, the external documentation is produced. I quickly relive the days when I could just write the javadoc for the classes first before ever writing the implementations, and then working from the API documents/specifications instead. This way, I had a clear idea of what the classes/interfaces/subclasses/methods would be doing, and will be more productive hitting two birds with one stone.

But then it's all fine and dandy when you're the only person working on code without documentation. You're reading your thoughts, and it's a coherent mess to others. But consider if your documentation was as cryptic as the code itself? I don't even want to begin imagining.

And it's worse enough that I inherit code that doesn't have documentation. They don't work "right" yet, so I had to make the necessary changes to "core components" with minimal supervision. Now, more than ever, I have to deliver -- and hit two birds with one stone yet again.

I certainly hope I can get back to the most productive form in my coding life in the next few days... Not that I have to because there's a deadline or anything, but more because I miss it too much. I certainly have to get back to writing more instead of reading more in the coming days to be able to finish what I want to be able to accomplish by the end of the week.

CHill...

Comments

Popular posts from this blog

Help wanted: writing resources

I'm currently fleshing out a fantasy setting for a series of short stories rattling in my head that I'd like to get out into the world. However, it's the first time I'm even trying to do this, so I need your help: are there any good resources for world-building and writing guides that have been helpful in your projects? So far I've been really enamoured by Brandon Sanderson's world building and Patrick Rothfuss' storytelling. I suspect those two are at the pinnacle of the trade and I'm probably not going to do myself any favours by trying to live up to what they're doing, but I'd still like to give it the good college try. Are there any resources (forums, books, guides, blogs, or courses) that I should be taking if I want to do a decent first take at this? This is probably better as an email to friends and maybe some random folks (or maybe even a tweet) but why not a blog as well?

Reconnecting with people

2021 started with a a good sense of connection for me, having spent time with friends and family in a simple celebration of the oncoming year. The transition from 2020 to 2021 and being able to look back at a good part of my recent history got me thinking about how life has been for me and the family for the past decade. There’ve been a lot of people that I’ve met and become friends with while there are those that I’ve left behind and lost touch with. There’s a saying about treating old friends different from new ones, which I do appreciate now that I’m a bit older. It also means that my relationships with people that I get to spend a good amount of time with take a different shape. This reflection has given me some time and space to think about what it means to reconnect with people. Friends are the family we choose ourselves. — Edna Buchman I have the privilege of having life-long friends that I don’t always stay in regular contact with. From my perspective, if I consider you a frien...

Grief and Mourning

I've not been writing for a long time already but this time I can't keep this to myself. There's been too much happening to me and my family the past few days that I need an outlet. I've tried talking it out, being silent, and crying it out. Right now though I'm numb. I don't know whether I can keep this to myself and if I do I don't think it will be a good thing. Maybe other people have had the same experience or at least gone through the same thing. Maybe just the act of writing this out is going to be enough to make me feel something. There was a time in my life that I had thought I've been through everything. I thought everything that can happen to me would be something I can deal with. There was no doubt in my mind that I can handle anything. Unfortunately this latest one that happened to me and my wife wasn't something I was prepared for. Nor was I ready to deal with it in a manner that was controlled or well-thought out. I thought maybe if I...