My company develops a client-server application which runs 24 hours a day. This application is a window service and communicate with clients using TCP/IP socket. There are about 200 clients connect to this application concurrently. It is not stable yet and customer not satisfy with its performance. This application already modified by more than 10 programmers. We face problem in maintaining and upgrading it. Here are the problems we face:
- When the application not working properly, we hard to find out the root cause of the bugs.
- We feel hard to understand what the application actually does. The are too many global variables and functions put in 3 VB Modules.
- Not easy to upgrade and extent the functionality of the application.
- Easy to understand – Use meaningful naming for Class and its members. Comment also useful to tell other programmers what your code is trying to do.
- Divide and conquer strategy – Split big problem into small problems. The application can be divided into meaningful components or modules.
- Reusable concept. Group the similar objects and functions into classes. Many functions and objects are similar and repeated in coding, like 80/20 rules in our life.