A programmer who cannot summarize is not a good programmer!
Looking back, what did we do?
1. Confirm that your software is doing what the customer wants it to do
Yes, we have allowed users to provide guitar attributes, and they can search for their favorite guitar from the Guitar library. It appeared that the guitar that the user wanted was never matched, causing the guitar store to almost close down. Fortunately, through hard work, we corrected the mistakes we made! Otherwise, the store manager will die with us! terrible.
Corrected the case mismatch error. Specifically, all the guitar attributes that can be restricted are listed one by one through enumeration. Whichever one you want to use, just call it. The guitar attributes cannot be restricted, so they have to be converted to lowercase to match.
2. Use basic OO principles to increase the flexibility of the software
After completing the functions wanted by the guitar store manager, we re-examined our code and found that Guitar objects are not only used for storage Guitar object, which also stores the properties of the guitar the user is searching for. This is not good, so we separated the GuitarSpec class from the Guitar class (all attributes that can be searched by users are divided and loaded into the GuitarSpec class).
3. Strive to achieve a maintainable and reusable design
We thought about the future again, if the store manager wants to increase the search attributes, such as the number of strings, on a whim.
So, like old scalpers, we changed the code from bottom to top. We searched all the places that involved adding search attributes, and we were still worried about whether there were some places that we didn't find.
The monthly salary is fixed and the working hours are unlimited.
In order to work less, make sure you get the maximum amount of money per hour.
Suddenly we realized why we didn’t gather the places to be modified together, write all the new search attributes in the GuitarSpec class, and then let the method of comparing attributes also be written in the GuitarSpec class, so that we use the minimum The workload completed the task.
Thank God, we have taken care of everything in the future, but we cannot get future wages.
The above is the detailed content of A summary of the cornerstones of a good application. For more information, please follow other related articles on the PHP Chinese website!