The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
I have been bitten by that a few times. Eventually I resorted to adding little booby traps that would prevent things from being deployed as a self-defense mechanism. The first time they discovered one I told them I did that so you wouldn't do what you just did - try to use it in production. They didn't like it when I asked them, "what part of not ready for production do you not understand?" in front of three levels of bosses.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
I've done something like that once.
It required some dubious unit tests, but they did what they should on the build server
Everyone on the team was quite happy with them, because we did actually check in some test code a few times.
those, and sometimes in SQL statements concatenating user input string/varchar values
but only pre-release / personal test - never in release
(probably a bit anal about it but I'll purposely work longer to fix these things before knocking off for the day/night ...SQL parameters, clean up strings / use stringbuilder, replace every single var with the proper type.)
A quick and dirty 'CleanupTool' I wrote in C# for use on our builder, it accepts up to three command line parameters, the start path, the directory to delete (bin), and a range of exclusions.
It works with the directories we have, but don't have any expectations beyond that
This is from about a week ago. I wrote a routine that captures the user comments about certain states of a map (like, an actual map of a city). This routine is then supposed to store it to be read by another piece of code that generates reports.
Out of my superior wisdom, I elected that the path to the map images captured, the associated comments, etc. should be stored as a CSV file (don't ask - it was 5.40PM). I spent the next morning trying to figure out why the report generation was tripping up. Of course, the user could enter commas in their comments (the strings aren't quoted) and that did horrible things to the naive CSV parser.
I have since cleaned up traces of my idiocy and all data now properly goes into a database table from where it gets read.
The worst I've done was low-level parsing in the high-level part of my parser. The low-level part I inherited is, understandably, somewhat complex and I was running low on time so I've made a low-level distinction between two values in the high-level part framed with a comment about how sorry I am.
I wrote a C++ program to close a dialog which is left open by another program when it loses it's connectionto SQL Server, which it does on a not infrequent basis.
In my defence:
1. The offending program is written in VB6 and I am not refactoring that.
2. It is running on Windows 7. Not an actual server OS. (Until last year when the physical hardware got vitualised it was XP)
3. No one else here really knows C++ so that will be my lasting gift to them
if (claim.Contract.ProgramID == 280)
taxAddOns = ClaimsAccess.AddTaxToAddOnList(taxAddOns, claim.Contract.ProductID);
and then the ClaimsAccess method hard-codes building the objects it returns, instead of looking at the database for them.
- Too lazy to add an attribute to the Program data to represent the business need
-- Probably really means they didn't understand the business need
-- Of course, nobody else will ever want this to happen, so we shouldn't even make the program id a configuration value.
- hard-coding the construction of the objects instead of running off to the database
This is the sort of terrible approach I have to fight every day, day in and day out.
Using var is possibly the laziest code technique I've ever run across. It makes the code harder to read and opens up the real possibility of type cast errors when the initialization results in the wrong data type.
The code which is written correctly FIRST TIME around, with no correction needed to it ever, no need to revisit it ever again.
Does it have to take longer?
No, because you'll never spend time on it again.
Does it take a long time to write such code?
Not if you actually are capable of perceiving all ramifications of it, and actually confront the entirety of the issue at hand.
The writers who spend 7 years to write a 500 page book don't actually write better books ... did you know that most of the well known artists like Mozart etc, spent incredibly little time to create immortal master pieces?
did you know that most of the well known artists like Mozart etc, spent incredibly little time to create immortal master pieces?
My understanding is that this is actually an urban myth (Here's a Guardian article[^] that mentions this too)
If you can write code that works first time, no fixes, forever and ever then I take my hat off to you. You've either put in a lot of work to get to this point or you're incredibly lucky. It's usually the former.
What I was after wasn't the code that took the least effort to write. I was after the code you wrote with the least *thinking* and that you know, deep down, is just wrong, but you do it anyway. Like eating a doughnut: so wrong, but so easy.
After spending a week on my yearly elderly cruise
My grandparents have both been in the hospital last year (heart attack and I can't even remember what grandma had) and so they weren't quite up for a cruise this year...
Until my mom told them we'd be going to Friesland (northern Dutch province).
They'd still be in the Netherlands and my grandpa is from Friesland so they've been there before and it's known territory.
So my grandparents had a great week (despite the heatwave) and they wanted to go again next year.
And it pains me to say, but the Netherlands isn't my vacation country
Maybe because I live there and I've seen the water, the polders, the ditches and the flatness (I like mountains and forests with an occasional castle, needless to say I love Germany!).
And maybe because it's just too crowded, there are people and cars everywhere you go.
In fact, if you're reading this and you're living in the Netherlands I strongly advice you to move to another country and take about four million people with you (I'm not going because I like living here)
Not sure if I can stand another elderly cruise next year though
Yeah, and it's not all frustration either.
My grandma and me have always been best buddies
The other oldies like a young passenger on the ship as well (too bad for them I'm not much of a socializer).
And if we're not in the Netherlands (last two years was Germany) the scenery is beautiful as well
In fact, more people should do this.
Show them old folks some love (easy for me to say as they've always shown me)