Code Folding…

I am a programmer. I wouldn't consider myself to be a "master" programmer, but I think I write pretty decent stuff when I get going. I also occasionally cut corners and write quick and dirty "hacks" to solve a particular problem or to test something out. I sometimes feel guilty about this, but then I read findings from interviews with master programmers, and I discover that they often write ugly but useful hacks as well...

I used to be a procedural programmer, with languages like C and Pascal. Now I'm migrating to object oriented languages. And I stumbled across a little article about the the bad side of code folding.

Code folding is a really simple concept with a mysterious sounding name. Basically, it allows you to group a section of code together in an editor and "collapse" it, hiding all the nasty bits. I discovered code folding in the Visual Studio .Net integrated development environment...

...where it is used without user intervention every time you write an application with a user interface. Microsoft automatically uses code folding to hide a bunch of control objects so they don't clutter things up.

If you read that article in the link above, you would have heard the opinion of Matt Stephens, a fellow about which I know pretty much nothing. But his article is well thought out, and made me stop and think about what I use code folding for.

The answer is I use it almost not at all. But I do find it very handy when I do use it. Not because I write huge, "one method to rule them all" code segments. Personally I kind of like a method to never be much longer than one screen full...and no, I don't have a 72" portrait monitor with 1024x48000 resolution.

Instead, I use code folding or "collapsing" as a way to focus my attention. I might have 10 methods in an object. Nine of them are debugged and working happily, and the tenth is causing me some grief. I create a code section to conceal the "functioning" code and hide it so that I don't get distracted by the other bits.

Does this make me a bad programmer? I don't think so. I know I'm still pretty early in the migration from procedural thinking to object oriented thinking: I still struggle at times to break old habits, and I need some peer code reviews to continue my improvement. But I don't see code folding as a sin. Like a lot of things, including object oriented development itself, it has its good and bad points.

In fact, one could argue that code folding is a true and proper outgrowth of object oriented programming. One of the key values to OO, or so I've always thought, is the promotion of idea of objects being "black boxes". That is, I really shouldn't be spending my effort as a programmer figuring out how an existing object works: I should know what properties it has, and what methods I can invoke or inherit and what they do, and that it works. Beyond that, I should just use the dang thing.

Extending this to its logical extreme, within my own objects I shouldn't be continuously re-figuring out methods that I've already written. If they work, and I know what purpose they have and what properties or parameters they manipulate/use, then I shouldn't be messing with them. I should be working on one code element at a time, refining each in term in isolation from the next. Code folding can, used properly, encourage that kind of thinking.

I suppose I could be missing something here in my thinking. And I'm open to contradictory opinion. But I'll continue to use code folding from time to time, and I don't plan on feeling guilty about it.

Continue ReadingCode Folding…

First private Astronaut…

On June 21st of this year, Scaled Composites plans to launch the first privately funded passenger carrying craft to enter “space”. The ship, named SpaceShipOne, will climb to an altitude of 100 km (62 miles), the official boundary where “space” begins. For the first time, someone outside the circles of large, government funded projects will be able to call themselves an astronaut. (more…)

Continue ReadingFirst private Astronaut…

Sneakers…

I just returned from a business trip to the U.S.. It was a tiring affair, but so far as business travel goes, I guess it was about as good as can be expected.

That said, this was my first major trip since about 2000. I had read about but hadn’t experienced first-hand the post WTC security precautions when crossing the border, and I have to say that they are … odd. (more…)

Continue ReadingSneakers…

Semi-annual hacking…

This site was down most of today. I apologize for that. I spent most of today, probably 6 or more hours, fixing up this server after one of my web sites here was “hacked”.

The hacking itself was pretty minor- someone just altered the contents of a couple of pages to include their names and indicate their amazing credentials. The way they did it was also fairly simple- they took advantage of a known flaw in some software I was running. (more…)

Continue ReadingSemi-annual hacking…

Spring…

Its spring here. Actually, its been spring for quite a while, but I think my brain just caught up with that fact. I realized it was spring today when I went outside to have a cup of coffee on our patio. It felt nice to have the sun shining on me, so I came back and set up a lounge chair thing. Then I fell asleep outside on the patio…for about an hour. (more…)

Continue ReadingSpring…

It needed an oil change, so…

Regulars here will remember last year when I got my new Acura TSX. I was very happy with that car, and with the friendly service I received from my Acura dealer.

But...when I bought my TSX, I really wanted a GPS navigation system. That feature wasn't available in Canada last year, so I went without it. Well, this year Acura released their new model TL, which now includes a Canadianized GPS navigation system. I made the mistake of looking at one...and did something kinda stupid...

Say hello to my new car: a 2004 Acura TL. My TSX now graces my dealer's lot, awaiting a new home.

...

Continue ReadingIt needed an oil change, so…

End of content

No more pages to load