Importance of Up-Front Design or formal design discipline

Design-before-you-code is a school of thought that believes that what code is to be done (or what classes to be made and how they will interact) should be thought of and documented, reviewed looking at alternatives and also checking for the necessary and sufficient condition of fulfilling the need with probable extensibility in case of changes. So if we see, any one who is not doing "design" before coding, must also be having these thoughts in mind while firing up the code editor and writing the classes and its methods. If someone is thinking about the classes and its interaction,

Continue reading

How choice of Data Structures and Algorithms affect Performance

  The main data structure issues that you need to consider are as under: Table 1 Issues Implications Choosing a collection without evaluating your needs (size, adding, deleting, updating) Reduced efficiency; overly complex code. Using the wrong collection for a given task Reduced efficiency; overly complex code. Excessive type conversion Passing value type to reference type causing boxing and unboxing overhead, causing performance hit. Inefficient lookups Complete scan of all the content in the data structure, resulting in slow performance. Not measuring the cost of your data structures or algorithms in your actual scenarios Undetected bottlenecks due to inefficient code,

Continue reading