Software development - Tips
Anyone with a reasonable amount of IQ can code. But when it comes to software development, things are different. Certain things comes into concern when you develop a software, especially as a team.
Before pointing out the details of what should be done before developing a project, I am going to focus on the 'after implementation phase' wherein the end user requests for changes. Changes can be simple like, a change in the layout of the application or adding control in a page or change the control type from TextBox to a ComboBox etc. If a change is complex, like a drastic change in the application structure, then the things get worse. But this can happen, only if the the system study is not properly done i.e the understanding of the initial phase is limited to certain set of requirements. But I am not specifying anything in detail on that. Only opinion is that "You should do a proper system study, at least cover the basic requirements and do a small research on how the existing system is working." If there is no existing system, you can come across a lot of re-work. So code it accordingly (expecting a rework).
What should we do to minimize the development efforts, before and after the implementation phase?
- We should follow a structured coding style
- Use a coding pattern, say MVVM for Silverlight applications.
- Separate common files to folders and sub folders
- Use custom controls to minimize the number of lines of code and to reduce redundant code
- When a change is required, this can be lot more easier as it will be updated for the whole application.
- Common methods should be separated to a common class (as static members)
- If there are more than 1 project, use a new library project and add all the common methods, classes, enumerators etc. to that library, so that it can be referred as a DLL;
- Standardize and follow a coding standard
- Very important for other team members to understand the code, while re-working.
- Code commenting is a must.
- In the development stage, think about the future and the possible issues that can happen after implementation
- When developing the software as a team, make sure that certain things which are considered as main should be handled by a single person
- Try to avoid duplicate views – e.g. if there are pages, subpages, child windows/popups which are similar / slight difference, use a single page with parameters, that adjusts the differences
- Minimize multiple web service calls. Normalize the table and get the data properly using stored procedure or query!
- Avoid using unwanted code or controls or tables or procedures
- If there is any unused page, code, tables etc, remove from the system rather than creating confusion when re-working on it after the development stage.
- You can maybe do this with the help of code re factoring tools like Re-Sharper to do this
- Do not stress web service by passing huge data to and fro. Use simple data transfer logic and try to use server side paging for huge data transfer!
- Proper usage of source control is a must (TFS for example).
Thanks for sharing these useful tips to improve efficiency in the process of software development. This article will help beginners in software development to exceed the client’s expectations, without doing a lot of rework.
ReplyDeleteThis article will help beginners in software development to exceed the client’s expectations, without doing a lot of rework.
ReplyDeleteThank for sharing this post
Regards Bus Booking Software