Skip to content

Beginner’s Tip: Organize Your Coding Projects - Dan Fletcher Blog

Metadata

  • Author: danfletcherblog.ca
  • Full Title: Beginner’s Tip: Organize Your Coding Projects - Dan Fletcher Blog
  • Category: #Type/Highlight/Article
  • URL: http://www.danfletcherblog.ca/2017/01/beginners-tip-organize-coding-projects/

Highlights

  • Especially in the early days of coding, we all tend to create many, many small projects that we usually like to keep around for sake of reference.
  • I for one, accumulated more than a hundred tiny micro-projects and code snippets within just a couple of months. This was mostly due to the speed at which I was following tutorials, but I also spent a lot of time spinning up projects for the sake of quick experiments. Experimenting was, and still is, the number one way I learn to code.
  • What not to do
  • Nesting
  • This is by far the biggest mistake I made when I first learned to code. I tried to organize tiny little projects (many of them were just code snippets) into a deeply nested hierarchy of directories.
  • This nipped me in the butt for two reasons: 1) I eventually couldn’t keep track of what belonged where, and 2) when I graduated to using a command line, it become way too much typing to find projects. The main problem for me was that I was in a highly experimental stage of my career. I didn’t know exactly what my first programming job would be, and I didn’t know for sure which language or stack of technologies to focus on. In the early days, my decisions were largely guided by which tutorials suited my learning style best. If I found a source of information (YouTube videos, articles, books and other resources) that played well to my learning style, I would adopt that stack for that reason alone.
  • Copy GitHub Locally – Use A Flat Folder Structure Once I spent some time working with GitHub, I realized how easy it was to work with a flat folder structure. So I decided to reflect that organization on my own machine. This is how I organize now (on Windows in this example): – C:\Users\Dan\batcave – – project-1 – – project-2 – – project-3 – – project-etc
  • Use A Cloud IDE For Small Projects It’s unfortunate to see how far behind the times software development is. Office administrators have had cloud applications for making documents, slide shows, spreadsheets and all the other typical office applications in a collaborative, accessible way that keeps your local machine nice and tidy for years. It’s only recently that software developers have had access to cloud IDE’s, and they are for the most part only realistic for web developers. However, they can still help tidy up your local machine, by moving some of your smaller projects onto the cloud. So what is a cloud IDE? It’s an IDE that runs in your web browser. Usually, you will get a virtial box running a Linux OS such as Ubuntu, and a bit of memory and storage for each project you host on the service. My current cloud IDE of choice is c9.io. The free version gives you unlimited public workspaces. Think of a workspace on c9 as it’s own machine running Ubuntu, with enough storage and processing power for most small to medium sized projects.
  • Okay, so to recap: Leave IDE defaults alone. Use a cloud IDE when you can (most have decent free services). Learn Git. (This should probably be ranked number 1). Use GitHub, Bitbucket, or GitLab for hosting your projects. Keep your local repositories flat. No nested folders of folders! Spinal case your project names.
  • accumulated more than a hundred tiny micro-projects (View Highlight)
  • I also spent a lot of time spinning up projects for the sake of quick experiments. Experimenting was, and still is, the number one way I learn to code. (View Highlight)
  • At all stages of your career (especially the early stages) you’ll come across problems that you’ve solved before. It’s pretty handy to reach into a “tool bag” and find a piece of code or a pattern that you’ve implemented and documented before. (View Highlight)
  • Don’t organize by language (View Highlight)
  • One thing I highly recommend for new developers is picking a base language as early as possible. The sooner the better. (View Highlight)
  • What you should do (View Highlight)
  • Use GitHub (View Highlight)
  • By using GitHub or another similar host, you’re creating backups of all your work (View Highlight)
  • It’s probably not a good idea to rely solely on GitHub for anything proprietary, but for small projects, it’s better than no backups. (View Highlight)