What is road to performance?
Most of us work in a code that has already been written, and also as we start writing code, because of time constraints or development easiness, we tend to add code which adds debt. Hence, we start to think about performance tuning the code. It’s really very hard to estimate how much time it takes to fine tune the system. Initially, we might estimate it for certain hours, which might end up taking as much…
What is Singleton Pattern?
This design pattern describes restricting the instantiation of a class to one “Single” instance.
Why use Singleton Pattern?
Singleton Pattern is useful when exactly one object is needed to be used as a global instance to coordinate across the system.
Why Singleton is anti-pattern?
“To Reinvent the wheel is to duplicate a basic method that has already previously been created or optimized by others.” ~ Wiki
When we think we want to get intimate knowledge of the inner workings of various components that already exist. Many software components like memory management, double-linked lists, dynamic array, ODBC, multi-threading are like black boxes that just work. Understanding the usage of these components aren’t enough to reveal the hidden dangers and benefit beneath.
Reinventing the wheel, if…
It Happens Someplace Every DayYour boss comes in. He says, “Clients are clamoring for this feature. Can we get it done today?”“I don’t know.”
You look around. Are there tests in place? No. You ask, “How bad do you need it?”You know that you can make the changes inline in all 10 places where you need to change things, and it will be done by 5:00. This is an emergency right? …
You need to know what tools you need when you work with legacy code. You need an editor or an IDE and your build system, but you also need a testing framework.
Refactoring by hand is fine but if the language you are working on has refactoring tools, then it is even more awesome to work with legacy code.
Refactoring(n): A change made to the internal structure of software to make it easier to understand and cheaper to modify without…
People write software with people for people. It’s people business. Unfortunately what is taught to programmers too often equips them very poorly to deal with people they work for and with.
Programmers build and use tools, we think about and create and modify and recreate tools. Tools are objects of interest to developers.
But for its users, a tool becomes an invisible thing understood only in use. For users tools only become objects of interest when they don’t work.
You’ve got to be willing to read other people’s code, then write your own, then have other people review your code ~ Bill Gates
We love writing code, but when it comes to reading it we usually hate it. Partly, because reading the code is hard while some are really bad code.
One way to improve programming skills is to Read Great Programs.
Why Read Code?
Reading someone else’s code can improve our own coding. Everyone’s thinking and problem-solving skills…
To every problem we face, we need to focus to find the solution. Sometimes, enforcing focus to solve the problem at hand, might cause the focus to be lost. All of us suffer from this syndrome.
To break out of this syndrome, we get up stretch legs or walk or talk to yourself (aka rubber duck programming). And, automagically the solution pops out.
Why take breaks when doing creative work?
The human brain is divided into a logical part and…
What is Version Control?
It is a component of Software Configuration Management which tracks the changes to documents or changes in the software code. Also, known as revision control or source control.
What are the different types of Version Control System?
The list of different VCS are:
What is a Professional Programmer?
The single most important trait of a professional programmer is personal responsibility. This is to take responsibility for their careers, their estimates, their schedule commitments, their mistakes, and their workmanship.
What responsibility does a professional programmer have?