what does it mean to have a programming project

How to Build a Programming Project Step by Step

This tweet about building projects actually resonated with me:

projects-tweet

It says a lot about how programmers build the projects we all admire. Information technology pin-points the less glamorous parts of our activities which beginners don't ever pay attention to, probably because of their lack of experience.

And that reminds me of my recent experience building a VSCode extension. The extension is meant to make me look like a genius in video tutorials and reduce my recording challenges. (But hey – I am really not a genius 😜).

The extension displays the content of a file per character whenever any key is pressed. It simulates a real-coding experience while I only pay attention to the voice recording. Wow! How did I build that? Well, let's see how it went.

Information technology might get without saying, just you don't know how to build a new project until you lot've really congenital information technology. Earlier I started, I didn't experience like I knew what to practice and what to bring together. Just I was sure of one thing – I knew how to find what I needed. Nail! The research began.

Then let me tell you lot how I did it, so you can get meliorate at building your ain projects, likewise.

Break the Projection Downwardly into Smaller Units

image-310
Photo past Markus Spiske / Unsplash

I knew it would exist hard to notice a complete tutorial about what I wanted to build. But it was relatively easy to notice tutorial related to each unit of the project. So, I broke the project down into these parts:

  1. Installing the VSCode extension.
  2. Getting the content of an active file.
  3. Breaking downward the content of the file into characters. (Word => west, o, r, d).
  4. Listening to central-presses.
  5. Displaying the character one by one whenever any key was pressed.

Those are the bones things I expected the extension to be able to handle.

But look! What if I am building a whole website? Don't worry – it's still the same process. This is what I would have done if I wanted to build a website, too.

Footstep 1: Break everything up into sections

For a website, your manageable sections might look like this:

  1. Header
  2. Master
  3. SideBars
  4. Footer

Step two: Break the sections downward into components

To do this, I would enquire myself what I wanted in each section. And so I would list those elements out one by one.

✅ Header: I desire a logo, search-box, signup/login push button (or other navigation buttons) and settings in the header.

✅ Main: How many column(s) do I demand? Does it have to include a left or correct sidebar or a list?

✅ Footer: Do I desire copyright information and navigation in the footer? Annihilation else?

Then I'd ask myself what other things I wanted and note them downward as I thought of them.

In short, you have to list out everything you lot desire in each section and component. Just don't waste material as well much time on planning, because execution is primal. Do it equally quickly as possible because one time you have a task, y'all'll probably hardly accept any spare time to plan out your projects.

But y'all might be thinking, Oh, no! I am confused. How do I know all the sections and components I need as a beginner?

That is a skilful observation because I am not a beginner and I have had experience with of all of these components. That is why I can listing them hands.

Only it's ok. Yous will learn all these things forth the line. Y'all just demand to pay attention to my VSCode extension story. :)

Write Your Starting time Line of Code and Become Stuck‌

image-311
Photo by Fernando Jorge / Unsplash

Afterward having a articulate picture of what to build, I believe the about important thing to boot-showtime a projection is to write y'all first line of code and become stuck. It is pessimistic, merely it helps you to become solution driven.

Instead of being worried unnecessarily because you're not certain of how to start, open up you code editor of choice and write your first line of lawmaking – even if you get stuck right after that.

Y'all first line of code will probably get deleted or improved upon several times, and that is fine. It is meant to help you overcome procrastination.

In reality, you will always exist confused about how to commencement and what to do. Don't procrastinate because of such feelings, especially later on you empathize how the project should work in your head or on newspaper.

Don't try to understand everything before writing your starting time line of code. You will never understand everything. At least, no one has always understood everything yet.

No Projection is Perfect – Including Google‌

image-312
Photo by Brett Jordan / Unsplash

It is easy to desire your project to exist the best ever congenital, especially when yous are a beginner. I accept been there, and so I know how it feels.

I was but an art student trying to solve a problem by using spider web technology. After I failed to rent a web developer to build the projection for me because I couldn't afford the cost they quoted, I decided to learn how to build information technology by myself.

Silly me tried to build almost every feature on the cyberspace to make sure my project had all the features others didn't have. Anyway, I killed the project eventually.

The betoken I am making is don't try to build a projection that can't be criticized – at that place is nothing like that. You lot need to focus on core features, non extra features that might make the project unusable.

Don't try to make a perfect projection or feature – brand usable and lovable projects and features instead.

Every Project is Built on Other Projects

image-313
Photo by Lidya Null / Unsplash

Subsequently I had a clear picture of what I needed to build the VSCode extension, I had to look into related projects. I opened the source code of vscode-hacker-typer to study how the project handles some of the things I wanted to implement. By doing that, I learnt a bit about VSCode extension APIs.

As I was totally inexperienced in making VSCode extensions, looking into vscode-hacker-typer helped me move from being totally clueless to knowing what to research.

Knowing the proper name of what you lot want to deal with is the greatest first step to solving any trouble in programming.

For instance, say that in that location is a characteristic you like on a related website but you don't know what it is chosen. How will you research the feature? Well, it is not rocket scientific discipline.

Yous tin take a picture of the characteristic and inquire for its name in programming groups or ask someone. Or you tin can detect it name or API past diving into a related project's source lawmaking like I did. Then bank check out projects that are similar to your project, learn from them, and copy their features.

Don't Be Afraid to Google

image-314
Photograph by Mitchell Luo / Unsplash

Before I dove into creating the VSCode extension, I didn't even know where to start – but I was certain I would exist able to research my mode to something reasonable. I started googling dissimilar questions:

✅ How to get the content of a VSCode agile editor?

✅ How to utilise VSCode activeTextEditor?

✅ How to employ VSCode onDidTextDocumentChange?

And so on.

Understanding what you want to build is the offset pace to having relevant search results especially when building a projection you have never built. You need to conceptualize the idea or features you want to implement so that you lot can observe solutions yous need.

Bones googling tips that tin assistance you go amend results

Know the keywords you care well-nigh.

For example, if I want to built a landing page with HTML and CSS simply, I won't search for something similar "How to build a landing page". That will be bring a lot of things I don't want. Information technology has to include the keywords I care about.

Below are examples to study:

  • How to build a landing page with HTML and CSS?
  • How to make a VSCode extension with Typescript (If I want Typescript)?
  • How to brand a VSCode extension with JavaScript?

Make sure your expected keywords are included – be specific.

Googling (How to build a landing page with HTML and CSS?) may yield a generic result. That is an effect. But it tin be stock-still with verbal matches.

Apply quotes to get exact matches in Google

For example, "How to build a landing page with HTML and CSS" will give you an result with the exact words in that search.

If you want to explore general ideas well-nigh building a landing page, remove the quotes.

Exclude a search term with (-)

Sometimes, you lot only desire a result with HTML and CSS, but yous're getting those with HTML, CSS and JavaScript.

You lot can use "- JavaScript" to exclude JavaScript. For instance, you tin can search "How to build a landing page with HTML and CSS - JavaScript.

This is useful when yous want to exclude certain keywords.

Switch out your terms

When you want to motility from i language, library, or framework to another, you need to utilise all you know from the start language or framework.

For instance, yous want to move from JavaScript to Python and yous know how JavaScript works. All your previous search terms or approaches for JavaScript will still be very useful while using Python.

You only need to switch out your specific terms – supplant JavaScript with Python in all your searches. Then, you can google "Array in Python" instead of "Array in JavaScript".

You'll Always Get Stuck – and That'southward OK

image-315
Photo by Ian Stauffer / Unsplash

‌The problem with "How to" tutorials is that they don't always inform you lot that getting stuck is a part of the process. The VSCode extension I have been working on is still not working because I am stuck. After thinking through every function, I was stuck while implementing the features.

The VSCode extension API I was using tin't be iterated, and so I take to detect a way to practise that. Also, vscode-hacker-typer doesn't use the approach I am using. It records keystrokes and replays them. I want to avert recording keystrokes. I only desire to brandish the content of an activeTextEditor grapheme past character whenever whatsoever key is pressed.

You will always be stuck, and that is why y'all take to acquire How to meliorate your debugging skills. Getting stuck is a significant part of the process. Your ability to overcome the challenges of getting stuck will decide how far yous go in making projects.

Determination

Information technology tin be tempting to want to quit because y'all feel you are not every bit proficient as everyone else. The reality is that we all struggle behind the scenes. Nosotros've all solved a lot of problems through trial and error. Nosotros all feel impaired and simulated because we are always building on the projects of others.

Just don't forget that every amazing project has a less glamorous story you know zippo about behind it. What matters, above all, is making sure y'all build the project in the end.

Don't forget:

"The genius thing that we did was, we didn't give up" - Jay Z.

Ayobami loves writing history with software development and is currently helping those who are struggling to empathize and build projects with HTML, CSS and JavaScript here.



Learn to code for free. freeCodeCamp's open up source curriculum has helped more than forty,000 people get jobs equally developers. Go started

fargonockill.blogspot.com

Source: https://www.freecodecamp.org/news/how-to-build-programming-projects/

0 Response to "what does it mean to have a programming project"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel