Nand Kishor is the Product Manager of House of Bots. After finishing his studies in computer science, he ideated & re-launched Real Estate Business Intelligence Tool, where he created one of the leading Business Intelligence Tool for property price analysis in 2012. He also writes, research and sharing knowledge about Artificial Intelligence (AI), Machine Learning (ML), Data Science, Big Data, Python Language etc... ...
Full BioNand Kishor is the Product Manager of House of Bots. After finishing his studies in computer science, he ideated & re-launched Real Estate Business Intelligence Tool, where he created one of the leading Business Intelligence Tool for property price analysis in 2012. He also writes, research and sharing knowledge about Artificial Intelligence (AI), Machine Learning (ML), Data Science, Big Data, Python Language etc...
3 Best Programming Languages For Internet of Things Development In 2018
827 days ago
Data science is the big draw in business schools
1000 days ago
7 Effective Methods for Fitting a Liner
1010 days ago
3 Thoughts on Why Deep Learning Works So Well
1010 days ago
3 million at risk from the rise of robots
1010 days ago
Top 10 Hot Artificial Intelligence (AI) Technologies
344127 views
2018 Data Science Interview Questions for Top Tech Companies
96435 views
Want to be a millionaire before you turn 25? Study artificial intelligence or machine learning
91188 views
Here's why so many data scientists are leaving their jobs
89562 views
Google announces scholarship program to train 1.3 lakh Indian developers in emerging technologies
69492 views
How to start writing high quality code at any point of your programming journey
- Modularity -This defines how independent the different chunks of your code are from each other i.e. does making a bad change to one part of your code break everything else? You generally want the answer to that question to be no. This is similar to the concept of coupling as used in OOP (Object Oriented Programming). Code that is modular can have its constituent blocks of functionality swapped in or out without causing the whole house to come down on your head. Over time, you will start to appreciate the power of having modular code when you find yourself having to completely rework a particular feature or functionality of your code.
- Reusability - This attribute measures the degree to which parts of your code can be reused in other (entirely different) projects. The degree to which your code is reusable is largely based on how tightly it's coupled with the rest of your code base. An example of code reuse would be building a user authentication sequence for a fun social media app for your company and then being able to reuse this authentication sequence in a payroll management system without needing the rest of the code base for the social media site. A perfect real life example is that of car tyres... those babies will generally work on any car as long as they are the right size. Notice how their use on any particular car is independent of the design of the rest of the car.
- Maintainability - Like you might have guessed, this attribute measures the ease with which your code can be upgraded/altered over time without introducing new bugs. When using OOP principles, your code's maintainability is largely determined by how tightly coupled your classes are.
Coupling is the degree to which classes or objects depend on each other that is, tight coupling results when a group of classes are highly dependent on one other. This scenario arises when a class assumes too many responsibilities, or when one concern is spread over many classes rather than having its own class.
- Readability - Readable codeâ??-â??every programmer claims their code is super readable but, obviously, that's not the case. What is, readable code then? Before we define what it is, maybe the more important question is, why does readability matter anyway? When you start to work on larger projects, you'll find that your codebase grows by hundreds of lines daily which means, that in a few weeks you might have forgotten the logic behind the decisions you made. Similarly, other people viewing your code would find it impossible to understand your code if it is not readable. Hopefully, you can start to see how having unreadable code could make maintenance a nightmare.
- comment your code,
- name variables (both temporary and otherwise) consistently and descriptively,
- avoid extremely long lines of code (> 120 characters)
- form code groups
- DRY (Don't Repeat Yourself): If you ever find yourself copying and pasting code, STOP and think long and hardâ??-â??you're probably doing something wrong
- YAGNI (You Ain't Gonna Need It): Avoid writing code that doesn't get used as it will cause confusion down the road
- use nesting sparingly and
- use proper spacing and/or indentation (yes, whitespace can be beautiful) and you should be well on your way to creating art!
- passed two strings as arguments to our function?
- passed an integer and a string to our function?
Anything that can go wrong, will go wrong
You should always strive to achieve 100% test coverage which essentially means that when your unit tests are run, all your lines of code are executed! If these unit tests are well written, you'll have a greater ability to catch any and all bugsâ??-â??giving you the opportunity to fix them all and you're on your way to achieving true bug-free status.


Continuous Integration ( CI ) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.
