# Accept Imperfect Code and Use Code Review to Improve It

DevFeed: [Accept Imperfect Code and Use Code Review to Improve It](<https://devfeed.tech/articles/your-code-sucks-38418.md>)

Original publisher: [Read original article](<https://khmylov.com/2014/03/your-code-sucks/>)

Author: Andrew Khmylov

Published: 2014-03-17T00:00:00Z

Content type: opinion

Language: en

Sources: [Despite the odds](<https://devfeed.tech/sources/despite-the-odds.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Code review](<https://devfeed.tech/topics/code-review.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [defects](<https://devfeed.tech/tags/defects.md>), [developers](<https://devfeed.tech/tags/developers.md>), [formatting](<https://devfeed.tech/tags/formatting.md>), [knowledge-sharing](<https://devfeed.tech/tags/knowledge-sharing.md>), [requirements](<https://devfeed.tech/tags/requirements.md>)

## AI overview

This opinion article argues that developers should accept that code is often imperfect without settling for poor quality or endlessly pursuing a perfect solution. It recommends code review to catch formatting, minor code issues, design pitfalls, and to share implementation knowledge.

## Source excerpt

So you are sitting at your desk wondering how come your beautifully- and carefully-thought abstractions have turned into an ugly monster, and why your precious codebase smells like a giant mess. You may be not the smartest guy around but you are not that stupid or unqualified after all. Well, just accept that your code sucks and stop worrying about it. Even the most brilliant programmers I know come up with the messy code or leaky abstractions sometimes. To fail is human. The business requirements come and go, the product evolves, you are growing as a professional. Don't be OK with it, just stop torturing yourself trying to find the 100% perfect solution. If it works for now and it looks easy enough to be changed later, then it's probably fine. On a side note, I would rather wonder why you are OK with any code at all. If you can't spot an issue here or there then you are probably just not skilled enough to see the defects. I'm not talking about some 'forget the code, WE ARE SHIPPING THE PRODUCT HERE, BEATCH!' management bullshit. The beautiful code and design is what makes your product easy to maintain and improve in the long run. The more skilled and experienced you become, the more likely you are to fall into "disappointed in everything" mental trap. Try to think about it rationally - you've been around for quite some time, you've built some great stuff, your projects haven't fallen apart due to awful technical decisions. And though your code sucks from your point of view, perhaps it's not that bad on the absolute scale of code awesomeness. What can we do make it less painful? Code review really helps a lot. Some developers complain about code review not being effective enough, i.e. it only helps you find the most basic formatting and code issues. I was a bit skeptical myself not so long time ago, but even if it helps to fix the formatting and minor code issues, than it's a great improvement! I would say it's a matter of trying and figuring out for yourself. From