Phone book mini-program development completion and feelings

Source: Internet
Author: User
Although the program is very small, very simple, and ugly, I did develop the first complete available App. Conception, coding, and simple testing until the installation package is completed by one person. In the past, although I have written a lot of C # and java code (tens of thousands of lines), I have also written countless C and C ++ gadgets, but either it is a small part of a large project, or it is the meaningless "helloworld!" Test the feasibility of the algorithm. It took me a few days to develop a phone book in my spare time this week.

Although the program is very small, very simple, and ugly, I did develop the first complete available App. Conception, coding, and simple testing until the installation package is completed by one person. In the past, although I have written a lot of C # and java code (tens of thousands of lines), I have also written countless C and C ++ gadgets, but either it is a small part of a large project, or it is the kind of "hello world!" that doesn't mean anything!" Test the feasibility of the algorithm.

Basic program information:

Development tools: VS2010;

Large and small: the installation package is 500 k;

Valid code: about 500 lines;

Architecture:. NET 4.0 Client Prifile;

Main technologies: XML reading and writing and WPF interface creation;

Development Time: less than 20 hours. it is estimated that the time is about 15 hours;

Below are some:

Login

Although it is a small program, I still sum up some experience. remember it and it may be useful in the future.

1. Be sure to avoid situations where greed is more than seeking for perfection and greed is not enough. In the last tank war, it was just for this reason that the system crashed, and the interface was dazzling, the structure was novel, and the new technology was not used. the only result was a dead end. Keep in mind this time, the function can be simplified, the interface is also simple to the extreme, and finally repaired.

2. the technical test is under development. for this program, we wrote three or four small programs to test whether the key technologies and ideas are feasible.

3. layer-by-layer development and final assembly. Ensure the independence between each layer, which facilitates development and future maintenance and upgrade. The separation of data logic and interface makes it possible to separately improve the interface or lower-layer logic in the future. When developing the upper-layer interface, a TestData class is used. this class uses static methods of some columns to provide false data required by the interface. A console program is used at the lower development layer. The assembly will be performed only when both are similar.

4. take precedence over continuous improvement. At the beginning, the interface was a few twisted buttons, and the interface name was written in the middle of the interface. There are only two types of buttons to be clicked. either go to another interface or the name of the messagebox display button is displayed. Write all the functions first. if you don't need to implement them urgently, return the false data obtained from a null or new instance or testdata. after the function runs successfully, it will be implemented one by one. The interface is a little richer, and at last it is not important to adjust the location size.

5. after I installed an app, I couldn't get the installation package. later I reinstalled VS and found that the installation package is profound and profound. what is the encryption? installation environment monitoring? custom installation? rollback, select the installation directory, check before installation, compress data, and track the installation progress. check whether previous versions are repaired or uninstalled ......

6. writing a program is an iteration that never reaches a true value. it can only differ between the results of two iterations. a small enough difference is that it is stopped and considered as a solution.

Improvement in the future (it may be a long time later ):

1. data access can be improved. you can use the IQueryable type for reuse;

2. UI to be improved

3. the role of Controller needs to be improved. BL removal should be replaced by multiple factories.

4. records cannot be grouped.

5. Exception handling

6. data access can be separated by a common excuse. IDataAccess and factory only call interfaces without calling the data handler class, which facilitates the expansion of data access to multiple storage methods.

7. import and export

So much for the time being.

For more articles on the completion and feelings of the phone book mini-program development, please follow the PHP Chinese network!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.