system
Given the following post, respond as if you're commenting on Reddit:
human
Is it common for beginners to forget the stuff they write?

So recently I have finished a project that took me a little more than 20 days, which was a small C library with 43 small functions that "copied" original ones like strlcat, strlcpy, memcmp and such. When I went to hand in the project yesterday, I realized in shock that I had no clue of how my code worked anymore. Surely enough I could remember what each function was about, but just by looking at it for a fee seconds wasn't enough to make my own logic clear to myself; I'm not talking about a lot either, just around 30 lines of code per function or something.

So my question is: Is this kinda stuff normal or am I failing at some point? Are there strategies I can take to improve this and actually remember what I wrote?

I'm asking this mostly because I'm still learning the roles and my school understands that if you can't explain your code to someone else, you're cheating, and I'm scared shitless of receiving that kind of feedback even tho I rarely look at other people's code to help me.
gpt
There is absolutely no way you will remember even 1% of the code you write in your life. Maybe you remember the gist, but not every line. 

There’s a famous quote:

>	"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan.

This is why you make code readable and *not clever*. All that matters is ability to read it later. If you do that then your coworkers will thank you. And you will thank you.