So - I'm in a bit of a moral pickle.
For the past few months, another developer here at work has been working on this big new project. I've just had a chance to have a quick peek through the code, and even though I'm sure it's been well thought out, there are a few little things that stand out as just not very good.
But we're not talking trivial little things, like variable naming or line indentation, but actual design decisions, and I think it could have been done better.
Things like using interfaces, and abstraction into methods. To me, they are obvious things to have done, but in this case, they've not been done.
What do I do?
I'm not involved in this project yet, but I will be in a few weeks.
I'm sure the application will work, but it's not 'excellent', it is just merely 'good enough'. And I like the excellence side of this work - keeps me from getting lazy.
Does that make sense? It's not that I want to get one over on my friend, but I just want to make sure everything we do here is the best that we can do.
So, do I have a friendly chat with my friend about it? Print out the code, circle the 'bad bits' with red pen and leave it pinned up on our manager's office door? Leave it be and hope for the best?