Recently, my boss came to me and asked me to help him write a document about the use of "third-party controls and framework rules in real projects ".
Why is my problem? This is basically the case: "the company uses a large number of third-party 'framework' in various project teams, some of which are very old and cannot be maintained, and some have too many new bugs, some are too complicated for new users to use. Some project managers may find a good-looking person to show his boss that he is also easy to use. Later, they discovered that they were using this framework to create an interface, otherwise, the project and some open-sourceCodeThere are too many people to maintain, and there are a lot of such issues. It is the progress of the Party affairs. "Too much I can't remember. Anyway, I want to give him a document, I don't like this document. I personally like to study some advanced frameworks (but I rarely use them) with third-party frameworks, and sometimes these questions are "notProgram"I don't have much to explain. Everyone is familiar with development. The problem is not clear in one sentence or two. I am not very happy to give it out.
But I didn't talk about the boss for a long time in theory. I can talk about him as a boss. Let's look at it ....;
Explanation: the boss's so-called "Framework" may be a piece of JS Code, a C # class library, or several interface libraries. It may also be some open-source controls, components, or something, there is no relation with framework. Of course, he is also calling frameworks for "ORM frameworks" such as NH. There is no way that the term "Framework" is very good. Well, it's easy to remember that our company is already using it,
I am a developer group. It is not suitable to ask me to write this stuff, but I can't write it with my head. (If I don't want to leave work, I can't get online there)
The content is as follows:
The following content is variable in;
I. General principles
Simple and practical, easy to learn, easy to use, and easy to change (the slogan is only a slogan)
Ii. Basic Rules
- If the project is very tight, it is unnecessary if it cannot improve the development efficiency;
For example, the project is just a few months, but you have never used it. If you can meet the customer's needs, you should not use it.
- It must be: commonly used materials that are easy to find and are relatively easy to learn;
IncludingCommunityAPI help, demo examples, etc;
- Must be supported later, stable, and timely
For example, if all. Net products reach 4.0, and it must use. net1.1, it is absolutely not optional.
- The total learning time shall not exceed [1] months (depending on the project situation, plus or minus );
If the learning cost is too high, it must not be selected. For example, if you frequently encounter technical problems during project development
- The development cost cannot exceed [1.5] times.
For example, if you used Asp.net to create the same page for one day, it would take three days. If it is one day, it is acceptable.
- The bug caused by the launch of the project cannot exceed [1, 20% ];
For example, if the bug rate is too high due to a third-party control of XX, this is mostly caused by the inability of users to learn.
- Ensure that two or more persons in the project or company are proficient and have a proficiency level of [90%] or above;
For the company's development, we must ensure this. Otherwise, if a person goes wrong or is ill, he or she knows more than 70% about it, including attributes, classes, method functions, and program processes, features, frequently asked questions (what you use, which is useless). For example, you need to know more than 90% of the attributes and functions of a control and have tried it;
- If it is not necessary, do not use the first two versions, and test is not available (unless the API is frozen)
- In the design document, you must specify what is used and used there.
Iii. Open-Source Projects
- Must ensure that people in the company have the strength to maintain (can be expanded, modified) This releaseSource codeThe number of students in the section or framework is greater than [2]. The basic understanding of class libraries, controls, and project files is greater than [90%, not associated );
For example, if you use the open source grid of 3rd square meters2.7As mentioned above, we also need to understand the internal processing process of the Function Method class (instead of what each line of code is doing, so as to ensure that the user is competent to modify and expand, if necessary, code process document), and you must make your own examples;
4. For finished third-party components, middleware, and framework
- It must be ensured that this is a big-name vendor or widely used
Supplement
These regulations may be loose upon review when there is ample project time;
I will write these things and leave them to people who have such requirements in the future. I would like to welcome you to give me some comments and add some comments, or change something;
Attack me personally. Don't attack our company's management system (none at all)
It may not be suitable to publish the home page, but it is a problem that developers may encounter. It also belongs to the project management class. It should be available to the webmaster of the home page;