3 ms·
Ask HN: How Do You Deal with Perfectionism in Coding?
I have reached a point where the perfectionism is hindering my ability to finish projects on time, learn new materials / technologies, and enjoy programming in general.
A good example is the recent release of Advent of Code, I decided to take up the challenge, I spent way too much time trying to figure out idiomatic / pythonic ways to solve a for loop / opening a file for example, whereas I could of easily spent solving the problem itself.
Most of the time when I don't reach a perfect solution I just leave working on the project altogether.
Am I the only one dealing with this? Do you have any recommendations to overcome such a bad habit?
P.S: I am not medically diagnosed as a person with OCD, IRL I am a simple messy guy, this habit just exists in coding.
- PaulHoule 5y agoSounds like you need to get more fluent with Python.
- OulaX 5y agoWhat's the best way to learn "PROPER" Python? I am doing exercises a lot but not learning anything new, because my current knowledge mostly solves problems. Any tips / recommendations?
- sjg007 5y agoThere's an O'reilly book called Fluent Python. You might start with that.
- OulaX 5y agoThanks for the suggestion.
- PaulHoule 5y agoThere are two kinds of language. (1) Those with a good manual, (2) Those without a good manual. Python and Java are type 2 languages, Clojure and Javascript are type 2 languages. In a type 1 language you want to look up answers in the official manual because if you do that you'll always get the right answers! Read the Python manual, read it again, then read it again. Get in the habit of looking up answers in the Python manual, don't look them up on Google (you'll waste time with splogs,) don't look them up on Stack Overflow (the answers are wrong.)
- ryanchants 5y agoFor Advent of Code specifically, I get it working as hacky as possible, then iterate on the solution to get it where I want
- afarrell 5y agoIt is worth checking if you are: A. Falling into perfectionism. B. Putting unhealthy time pressure on yourself. C. Worrying too much that people will think of you as perfectionist.
- creamytaco 5y agoPython is a mess of bad design, it gives you plenty of rope to hang yourself regarding approaches to a problem. I suggest learning a language like Go, where the Python motto "There should be one-- and preferably only one --obvious way to do it" is actually true.