{"id":34,"date":"2024-10-26T03:10:22","date_gmt":"2024-10-26T03:10:22","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/?p=34"},"modified":"2024-10-26T03:18:19","modified_gmt":"2024-10-26T03:18:19","slug":"error-in-my-ways","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/2024\/10\/26\/error-in-my-ways\/","title":{"rendered":"Error in my ways"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Development Nightmare<\/h2>\n\n\n\n<hr class=\"wp-block-separator aligncenter has-alpha-channel-opacity\" \/>\n\n\n\n<p>For 14 years I have known the pains and joys of programming. I have begun countless projects, but in each and every one of them, I end up dropping them before I get even close to finishing. Even worse, I never keep my code stored in repositories, so I end up deleting entire projects when I do my yearly computer cleanse.<\/p>\n\n\n\n<p>Why? Whenever I begin a project, I really just hop straight into it, coding as I go.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Man, it would be cool if we had a way to play audio<\/p>\n<\/blockquote>\n\n\n\n<p>So I program in an Audio system.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>It would be super awesome if I could customize my character<\/p>\n<\/blockquote>\n\n\n\n<p>So I program the character customizer.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>What if this had x, y, and z?<\/p>\n<\/blockquote>\n\n\n\n<p>Thus, x, y, and z were born.<\/p>\n\n\n\n<p>Eventually, I get to this point, where I look at my project and become frustrated with it. Foundation on a foundation of poorly organized code becomes completely unreadable. I have no schematics or designs to indicate where the project was even going. I become depressed that I&#8217;ve done it again, and I stop working on it.<\/p>\n\n\n\n<p>No plan, just raw, chaotic code.<\/p>\n\n\n\n<p>This cycle has repeated itself time and time again. Even now, as a Senior at OSU who is supposed to have project management down. The most recent project I started involves creating an immersive language-learning video game. It&#8217;s a team project, yet I find myself already building up a prototype with <strong>way<\/strong> too many features.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/ThomaDevOSU\/LIVE\">The Project<\/a><\/p>\n\n\n\n<p>Why do I do this? Why do I always try to take these leaps when my feet aren&#8217;t even on the ground? This problematic behavior of mine isn&#8217;t just detrimental to my projects; it&#8217;s detrimental to progressing my coding skills. For 14 years, I have failed to get past the entry level of any language. I never get to the really juicy parts of development because, by the time I get there, the project is ruined.<\/p>\n\n\n\n<p>So, what do I need to do?<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Refactoring Myself<\/h2>\n\n\n\n<p>Trying to develop without a plan is like driving with no idea where you are going. Like writing an entire book in a sitting.<\/p>\n\n\n\n<p>When you dive headfirst into the code without documentation to back it up, it makes everything so much worse. Hard-to-read code snowballs into thousands of lines. You start forgetting what your functions are for. You feel like a stranger in a foreign land just trying to add to your own code.<\/p>\n\n\n\n<p>Like what even is this?<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"359\" height=\"843\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8092\/files\/2024\/10\/image.png\" alt=\"\" class=\"wp-image-36\" style=\"width:368px;height:auto\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8092\/files\/2024\/10\/image.png 359w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8092\/files\/2024\/10\/image-128x300.png 128w\" sizes=\"auto, (max-width: 359px) 100vw, 359px\" \/><figcaption class=\"wp-element-caption\">Give me some slack, I wrote this when I was 13!<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Jokes aside, I am making this post to help remind myself what I need to do whenever I work on a project.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Structuring The Work<\/h2>\n\n\n\n<p>When doing any kind of work on a project, whether that be starting one up, or continuing work:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Start with a vision<\/strong>: Whenever you work, know what the final goal is. This could be for the entire project itself, or even small sections that are being worked on. <em>Write it down<\/em><\/li>\n\n\n\n<li><strong>Make milestones<\/strong>: Divide every single idea into smaller, more manageable parts. <em>Treat them like checkpoints<\/em>.<\/li>\n\n\n\n<li><strong>Pseudocode it out<\/strong>: Sketch the logic out. Write it out plain. <em>Make a detailed flowchart for your code<\/em>.<\/li>\n\n\n\n<li><strong>Use Version Control:<\/strong> Commit progress regularly.<em> Upload with detailed messages<\/em>.<\/li>\n\n\n\n<li><strong>Comment your code<\/strong>: Trust me, your future self will thank you. Maybe not every line, but important bits. <em>Make function header comments, and file header comments.<\/em><\/li>\n\n\n\n<li><strong>Document Progress<\/strong>: Track your progress. This can be done via a Kanban board or commit messages. <em>Keep it readable.<\/em><\/li>\n\n\n\n<li><strong>Test, Test, Test<\/strong>: Start testing early, and test often. <em>Testing saves time and lives<\/em><\/li>\n\n\n\n<li><strong>TAKE BREAKS: <\/strong>One of my most serious sins is sitting around coding on a single program for hours and hours on end. Take a break and come back to the problem. <em>It might just give you the fresh perspective you need.<\/em><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Ending The Cycle<\/h2>\n\n\n\n<p>It&#8217;s hard, especially for me, to not simply dive into a project headfirst. Jumping straight into hard coding for a project feels like bypassing tedious constraints at first. Until you realize those &#8216;restrictions&#8217; were the guardrails keeping you from flying off the deep end. Just know this, planning saves you a lot of pain in the long run.<\/p>\n\n\n\n<p>Hopefully, sometime after this is posted, I&#8217;ll have finally finished a project after 14 years. Here&#8217;s a look at what I&#8217;m currently working on.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/8092\/files\/2024\/10\/2024-10-25-20-06-41.mp4\"><\/video><\/figure>\n\n\n\n<p>Thanks for reading!<\/p>\n\n\n\n<p>~Dev<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Development Nightmare For 14 years I have known the pains and joys of programming. I have begun countless projects, but in each and every one of them, I end up dropping them before I get even close to finishing. Even worse, I never keep my code stored in repositories, so I end up deleting entire &hellip; <a href=\"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/2024\/10\/26\/error-in-my-ways\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Error in my ways<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":14479,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[3,6,4],"class_list":["post-34","post","type-post","status-publish","format-standard","hentry","category-development","tag-coding","tag-development","tag-programmer"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/posts\/34","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/users\/14479"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/comments?post=34"}],"version-history":[{"count":6,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/posts\/34\/revisions"}],"predecessor-version":[{"id":43,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/posts\/34\/revisions\/43"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/media?parent=34"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/categories?post=34"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/44656164496e7465726e6574\/wp-json\/wp\/v2\/tags?post=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}