Skip to main content
GameDev.net gamedev.net
🔒 Locked

Monday morning code...

Started by Ashaman73 Feb 25, 2013 at 8:17 PM 13 replies 7.5k views
Original Post
Ashaman73
Ashaman73

Monday morning code is this kind of code, where you write some seemingly easy code in hour just before first coffee and your co-workers need at least the rest of the week to figure out what went wrong. You would deny this code until you see the blame in svn, after that you start to believe in global conspirators.

Here's some java code I tracked down which caused some ugly bug ph34r.png


// determine objects to copy
MyClass sourceObj = getSourceObject();
MyClass destObj = getDestinationObject();

// copy now
destObj = sourceObj;
Alpha_ProgDes
Alpha_ProgDes

Pass pointers by value for the win......?

Monday mornings should be referred to as the "Hours of the n00bpocalypse"

Beginner in Game Development?  Read here. And read here.  
slicer4ever
slicer4ever

it's saturday morning, this code doesn't cause a crash, but is just an stupid oversight i caught myself doing:


Tile *World::GetTile(unsigned int x, unsigned int y){ //Same as above, but we can specify x/y coordinates instead of index positions.
    if(x<0 || x>=m_Width ) return nullptr;  //We check that the x-axis is inside the world.
    if(x<0 || y>=m_Height) return nullptr; //We check that the y-axis is inside the world.
    return m_Tiles+(x+y*m_Width);
}

completly idiotic on my part, unsigned numbers are never less than zero;-)

TheChubu
TheChubu

One can never be sure enough! :P

Also check if nullptr is actually null.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"   My journals: dustArtemis ECS framework and 
Bacterius
Bacterius

Might want to fix the second x < 0 to y < 0 too. I mean, it doesn't change anything, but at least it looks right happy.png

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”
Puyover
Puyover

If this was C++ there would be some chance of success due to operator overload, but... tongue.png

NEXUSKill
NEXUSKill

I usually avoid writing any code monday morning, think about stuff, do some testing, identify issues and think of solutions... only start coding after lunch

Game making is godlike

LinkedIn profile: http://ar.linkedin.com/pub/andres-ricardo-chamarra/2a/28a/272


freyastudio
freyastudio

I once made this "beauty" at work...


// Write
bool result = insert(results, data);

if ( m_CurrentSet )
{
       result = result || insert(*m_CurrentSet, data);
}
 

The idea was to store the latest of anything that has been written to file in memory, to make sure the latest set of data was in memory. However, this being a real time application, which in theory should run forever (and generates data for a multi-million dollar service), the results were pretty poor.

No harm done, since this was in a test and not production.

 
 
arthursouza
arthursouza

I ALWAYS end up making two comparisons on X or using X value for both X and Y on something, hahahaha, eventually have some reeeeallly weird behavior and track it to that, lmao

_orm_
_orm_

One can never be sure enough! tongue.png

Also check if nullptr is actually null.

nullptr is a C++11 keyword that is guaranteed to be null.

Alpha_ProgDes
Alpha_ProgDes

Here's some recent Monday-morning like code


if (ddl.SelectedValue == "Ticket")
   LoadPassengerList(currentTrainNumber.Text);
   PassengerPanel.Visible = false;
 

See what I did there......?

Beginner in Game Development?  Read here. And read here.  
Juliean
Juliean

See what I did there......?

Judging from your formatting, I'd say you forgot to put parenthesis after the if, so that the third line was executed regardless of the selected value? If so, it would be interesting what the results of this was biggrin.png

Paradigm Shifter
Paradigm Shifter

Just a wild guess, I'd say the PassengerPanel became invisible regardless of whether the selected value was "Ticket" ;)

"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley
TheChubu
TheChubu


One can never be sure enough! tongue.png

Also check if nullptr is actually null.

nullptr is a C++11 keyword that is guaranteed to be null.

That was the point of my comment mellow.png Comparing if unsigned values are negative... checking if nullptr is null... rings a bell?

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"   My journals: dustArtemis ECS framework and 
DekuTree64
DekuTree64

Here's some recent Monday-morning like code


if (ddl.SelectedValue == "Ticket")
   LoadPassengerList(currentTrainNumber.Text);
   PassengerPanel.Visible = false;
 

See what I did there......?

laugh.png Classic. "Hey, I just need to add one more thing in this if case... *copy, paste, compile*, no error, I'm such a good programmer! *moves on*"

2 weeks later, someone else: "Why is this stupid thing vanishing all the time? angry.png "

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.