Skip to main content

How To Improve Your Skills As A Programmer

Programming is one of the most versatile skills on the market in this age. From being able to create company websites to knowing how to easily fix a redirecting error, these skills can be invaluable to an employer and yourself in many ways. However, staying the way you are will never let you be the best Programmer you can be, read on to learn how to improve your skills as a programmer.

1.Analyze the problem clearly.
Read all about the case which you are going to analyze what should your action for this case. 

2.Think twice about how to solve that problem
Think twice for best action that you can perform in this case.

3.Gather complete requirements. 
Take the time to write down what goals the end product needs to achieve, and who your user base will be. Clarity of thought at this stage will save a lot of time down the line.

4.Write a thorough implementation plan (or model).
- For something small and self-contained, this might be just a basic flowchart or a simple equation.
- For larger projects, it helps to break the job into modules, and to consider the following:
  • What task each module must perform
  • How data gets passed between modules
  • How the data will be used within each module
- Although gathering and planning requirements can be tedious and much less fun than diving straight into coding, it is even more tedious to spend hours debugging. Take the time to design the flow and structure of your program correctly up front, and you may even spot more efficient ways of accomplishing your goals before you write the first line of code!

5.Comment your code liberally. 
If you think that your code might need explanation, comment it. Each function should be preceded by 1-2 lines describing the arguments and what it returns. Comments should tell you why more often than what. Remember to update the comments when you update your code!

6.Use consistent naming conventions for variables. 
It will help you keep track of each type of variable, and also what that variable's purpose is. This means more typing than simply x = a + b * c, but it will make your code much easier to debug and maintain. One popular convention is Hungarian notation, where the variable name is prefixed with its type. For example, for integer variables you might use intRowCounter; strings might use strUserName. It doesn't matter what your naming convention is, but be sure that it is consistent and that your variable names are descriptive. (See Warnings below).

7.Organize your code. 
Use visual structures to indicate code structure. For example, indent a code block that sits within a conditional (if,else,...) or a loop (for,while,...) Also try putting spaces between a variable name and an operator such as addition, subtraction, multiplication, division, and even the equal sign (myVariable = 2 + 2). As well as making the code more visually elegant, it makes it much easier to see the program flow at a glance.

8.Test everything. 
Start by testing each module on it's own, using inputs and values that you would typically expect. Then try inputs that are possible but less common. This will flush out any hidden bugs. There is an art to testing, and you will gradually build up your skills with practice. Write your tests to include the following cases:
  • Extremes: Zero and beyond the expected maximum for positive numeric values, empty string for text values, and null for every parameter.
  • Meaningless values. Even if you don't believe your end user would input gibberish, test your software against it anyway.
  • Incorrect values. Use zero for a value that will be used in division, or a negative number when positive is expected or when a square root will be calculated. Something that is not a number when the input type is a string, and it will be parsed for numeric value.

9.Practice, practice, practice. 
Programming is not a stagnant discipline. There's always something new to learn, and - perhaps more importantly - always something old to relearn.

10.Be prepared for change. 
In a realistic working environment, requirements change. However, the clearer you are at the start about the requirements, and the clearer your implementation plan is at the outset, the less likely it is that changes will be the result of poor planning or misunderstandings.
You can take an active role in improving the clarity of the process by presenting your requirements documentation or your implementation plan well before beginning to code. This will help to ensure that what you are planning to create is actually what's been asked for.
Structure the project as a series of milestones with a demo for each block, and manage the process one milestone at a time. The fewer things you need to think about at any given moment, the more likely it is that you will think clearly.

11.Start simple and work towards complexity. 
When programming something complex, it helps to get the simpler building blocks in place and working properly first. For example, let's say you want to create an evolving shape on screen that follows the mouse direction, and changes shape depending on mouse speed.
  • Start by displaying a square and getting it to follow the mouse; i.e., solve movement tracking alone, first.
  • Next, make the size of the square relate to mouse speed; i.e., solve speed-to-shape tracking on its own.
  • Finally, create the actual shapes you want to work with and put the three components together.
  • This approach naturally lends itself to modular code writing, where each component is in its own self-contained block. This is very useful for code reuse (e.g. you want to just use the mouse tracking in a new project), and makes for much easier debugging and maintenance.

Comments

Popular posts from this blog

Ten Things Everyone Should Know About Time

“Time” is  the most used noun in the English language , yet it remains a mystery. We’ve just completed an amazingly intense and rewarding multidisciplinary conference on the nature of time , and my brain is swimming with ideas and new questions. Rather than trying a summary (the talks will be online soon), here’s my stab at a top ten list partly inspired by our discussions: the things everyone should know about time. [Update: all of these are things I think are true, after quite a bit of deliberation. Not everyone agrees, although of course they should.] 1. Time exists.  Might as well get this common question out of the way. Of course time exists — otherwise how would we set our alarm  CLOCKS ? Time organizes the universe into an ordered series of moments, and thank goodness; what a mess it would be if reality were complete different from moment to moment. The real question is whether or not time is  fundamental , or perhaps emergent. We used to think that “tempe...

Why India’s membership of Washington Accord is a big deal..

There's good news for Indian engineers. The country is now a permanent member of the Washington Accord. Membership means global recognition of Indian degrees and is likely to increase the mobility of engineers to the USA and other countries for jobs. Congratulating her ministry's officials, HRD Minister Smriti Irani said that the development will "ensure that highest quality assurance standards (are) implemented in our technical and engineering programmes to provide global mobility to our engineering graduates". So what is the Washington According? It is an international accreditation agreement for professional engineering academic degrees, between the bodies responsible for accreditation in its signatory countries. In India the body responsible for accrediting the engineering degrees is the National Board of of Accreditation (NBA). The accord was established in 1989 and the current members include: Australia, Canada, Chinese Taipei, Hong Kong China, India, Ireland, ...

'Stronger education & skills required to fight the employ-ability crisis'

Youth unemployment and underemployment have reached critical levels and are expected to continue to rise in most G20 economies. Yet many employers cannot find enough people with the skills they need to grow their business and enable the economy to recover, according to a recent report by Chartered Institute of Management Accountants (CIMA) titled 'Addressing the Employability Crisis'.  The report says this is threatening the global economic recovery and could lead to a "lost generation" of young adults. It talks about a need to forge stronger links between academia and business, education and skills, theory and practice, supply and demand to fight the employability crisis.  According to the report, some of the factors in global employability crisis are older workers' employability (older workers' skill sets can become dated and their benefits can make them relatively expensive), changing demographics (supply of workers is outstripping employment opportunities...