Tech Tips Digest: 3


Catching up with the Tech Tips, here's the third digest, happy reading :)

Previous Tips: Tip No. 1 | Tip No. 2


Tech Tip No11: Don't use a cannon to kill a mosquito. Over engineering certain problems can complicate your life!

Some software engineers and out of inexperience tend to sometimes end up designing a module or a library that is way too over-engineered, for the use case at hand! 

It is always great to think about the future, making sure your design survives at least two cycles of changes with minimal effort, but sometimes over thinking will complicate things.

Sometimes going by the acronym KISS will make all the difference for the problem at hand :)


Tech Tip No12: Divide and conquer

This is one of many basic principles in Computer Science, and what it simply says is that you should try to break up the problem into smaller manageable chunks, that way you'll be able to measure your progress and even solve it faster.

This should also go hand in hand with settings priorities for the identified chunks.

The first step would be to identify how to break up the problem into chunks and then attempting to tackles the ones that would really get you more steps closer to the solution. 


Tech Tip No13: What can happen will eventually happen. Be prepared and pay attention to the smallest of issues or design flaws

Yet another important principle of Computer Science. Don't take little issues for granted, cause they'll eventually blow up in your face when you least expect it!

Neglecting to handle Null references in Java is one example, ignoring an unexpected case on a switch control statement because "it simply is not possible" are common examples.


Tech Tip No14: Minimize the number of configuration resources for your application. Having too many can cause severe headaches :)

All systems require configuration parameters of some sort, making sure those configurations are all gathered up in one place is very good idea. Otherwise, you'll have to cater for the versioning and management of all of the diverse locations!


Tech Tip No15: Make it work correctly at first, focus on the basic algorithm then consider making it faster & use less memory

I'll end up this post with this last tip, which by the way goes hand in hand with tip number 11.

You'll might not be able to fully identify the areas of improvement until you're done with the module at hand. So always focus on creating a simple design that works correctly at first, then start optimizing it to perform more efficiently and faster.


Hope you liked the digest posts so far, see you around ;)

Comments

Popular posts from this blog