This standardized document is mainly directed to the existing technical and development direction of China's Quality Workers' Supply Societies (hereinafter referred to as Senmin Online), and the development of the website background procedure is a detailed specification, only for Login on the line of line.
This document is divided into two parts, first, procedures development standardization, its meaning is to standardize all operational behaviors of each programmer in completing the work of this job; second, program management standardization, its meaning is to specify the management, assessment of programmers , Training, rewards and punishments.
First, [Program Development Quality Standardization]
1, development environment
At present, the specific development / commissioning / operating environment of Zhong Dynasty is basically:
Procedure: ASP 3.0
Platform: Win2K Server IIS 5.0
Database: Access 2000 / XP
With the continuous development of the website, this development / commissioning / operating environment is no longer suitable for a technical requirement for a large education website. The program language is not safe enough, the scalability is poor, the transplantability is poor, and the code is chaotic. The developers have almost difficult to modify and update for past procedures, not to mention cross-platform applications; Win2K and IIS 5.0 web platform work is not stable enough, there is a "computer" frequency is too high; Access database is in large data The speed of speed is slow, and the data backup operation is cumbersome, which is more detrimental to the future data synchronization problem of multiple servers.
In order to improve the technical content of Zhongqin, keep up with the pace of international mainstream website development. At present, the website is facing major reforms, abandoning the road developed by the past (using faculty-oriented language), timely and international mainstream, and uses object-oriented programming languages). We have two development environments to choose development:
First, use Linux RESIN / APACHE JSP (Java) Oracle / SQL Server environment program;
Second, use Win2K IIS (including .NET Framework) ASP.NET (C #, VB.NET) SQL Server / Oracle Environment Solution;
Foreign countries, the first set of programs has become mainstream, widely used in the field of e-commerce, develop stability; the second set of schemes have been launched in Microsoft .NET plans, and the development is bright.
First of all, according to the establishment of Zhong Dynamer online, the developer's detailed information statistical analysis, 90% of the rear platform developers of Zhong Dynamer online, the undergraduate student, 10% for computer professional undergraduate students, but due to its nature, development became professional The portal for the broad masses of society is small, and its developers may have always been limited to students, especially non-computer professional students with strong network development. Therefore, its development team may always have a shortcoming of not strong enough. To be flexible to master the Java programming under the Linux system has a certain difficulty, most developers are habitually used to development in the Windows environment, and for ASP developers with certain experiences, learn asp.net to get fast, The key is that the transition is the first reason for the second set of schemes to be selected by the program-oriented concept to object-oriented concept.
Secondly, the website, the website, the development language selected for the development of the Sino-term program is ASP. At present, it is difficult to transfer the existing column to the JSP program in the Linux system. It is a huge project. Not far from re-developing a complete system. Looking back in the second set, its ASP and ASP.NET can coexist in a new development environment, so that this site can be upgraded to the original ASP program without affecting normal development and operation. ASP.NET program, step-by-blocking improved program execution efficiency and technical content of the website, truly develop and operate two incorrectly, which is the second reason for the second set of schemes to SMIN should choose. In summary, Zhong Dynamed online should select the second set of development environments, facilitate the development direction of object-oriented, and gradually achieve technology transformation and improvement.
2. Efficient principle
As a programmer, no matter which field development, we should strive to pursue the efficiency of the program, please pay attention to the online programmer of Zhong Dynasty, remember the following sentence:
"Don't think that the CPU computing speed will push all the questions to it, and the programmer should optimize the code, we can do it, do not let the CPU do, because the CPU is serving the user, not for us Programmer service! "
We use this sentence to instantiate this sentence for the WEB development of Zhong Dynamese:
• Try to avoid a lot of global variables, delete useless variables;
· Try to use the session variable as little as possible;
· Try to use the stored procedure paging when the amount of data is large.
· Try to use "Select *", even if you need all fields, you should try to list the order in accordance with the usage, and you should use the field sort of the establishment index or primary key when you use.
· When using the Request object, the name is the name of the QueryString method or the form method;
· All databases and file objects must be as early as possible, at the same time
· ASP.NET development, try to use the system control of large-scale resource, and try to use CodeBehind technology, separate the code and the page, and compile the dynamic link library file;
Try to use the SQL Server database;
3, encoding convention
At present, Zhong Dynasty has been working in three years. The programmer continues from the 1997 undergraduate students to the current zero second level, the familiarity of the programmer coding of each grade is inconsistent, so that the program encodes the five-flowers, Strictly speaking, from the current website background program encoding overall, Zhong Dynasty is on the level of personal website, and there is no level of education for a large-scale website, so our programmer It is necessary to unify the encoding method, which can reflect the overall website; two, can improve the readability of the program, so that the next stage programmer can modify the update program. The following is the specific content:
1. The variable is defined before use;
2, the first word capital, try to use English description, should not adopt pinyin description;
3, the variable naming basics use Hungarian nomenclature;
The basic principle of Hungarian naming rules is:
Variable Name = Property Type Object Description
That is, a variable is constructed from three parties, so that the programmer is easily understood by the type, use, and easy to memorize.
The lower side is based on the rules examples of the recommendations used in my station (please refer to Hungar Naming Rules):
· Attribute section
Global variable: g_ constant: c_
· Type part
Person: p_
Handle: h_
Integer: i_
Floating point: f_
Japanese period: D_
Bull: B_
Character: S_
Array type: ARY_
· Description section
Initialization: init
Temporary variable: TMP
Some of the rules take into account the C # variable naming rules developed in the future. NET, in ASP.
Reference example: c_i_initbordercolor, g_s_tmpnewstitle, g_i_ary_votenum, programmers can make changes according to the actual situation, but must follow the Hungarian naming rules to make other programmers to see key identifiers such as their type and attributes;
4, all the attribute values of all controls should be used to include double quotes or single quotes;
5, the naming rule of the control:
Button: btn
Form: FRM
SELECT: SEL
Textarea: TXT
INPUT: IPT
Hidden: hid
6, each control mainly use rules:
· IMG control
Alt: All display clauses must have text descriptions that can briefly describe the image content.
· INPUT control
MaxLength: All Input controls require a MaxLength property, the default value is the length of the corresponding field in the database.
Readonly: All non-changeable messages use the readonly property.
· FORM control
Action: All forms must specify an action, if the submit is given to itself, specify an action = ""
Method: Try to use Post mode
OnSubmit: All forms must specify the check programs needed before submission.
All forms must have corresponding RESET Button.
· Button control
OnClick: The Button for Submit in Form is not allowed to use this method, all data checks via Form's onSubmit activation.
· HEAD attribute
All pages have a HEAD property that is not empty.
· All Chinese pages should be added to the following statement:
4, database design
Programmers should read carefully before the database design, you should read the analysis documents (including feasibility analysis, demand analysis, etc.), check the list of functions required by the items required by the Ministry of Information, and carefully consider the initial database. Designed, submit the database design report after design. The detailed specification is as follows:
· All tables must begin with characters "Table", such as Tusers, TAFFRICHES, TMESSAGES, etc.
· So the field must begin with character "f" (field), such as field FID, FNAME, FTITLE, etc .; );
· Design Access database should have a long database file name, or negotiate with the network department, make an ODBC connection, prevent the database from being illegally downloaded.
· Designing the SQL Server database should also back up the database to create a SQL script, that is, back up the database structure.
Database design basics
5, folder settings
With the development of Zhong Dynamed online, there are more and more columns. After three years of development, there are now more than ten columns, and all columns are developed by different personnel. The settings of each column folder are also seven. No rules, it is difficult to let other developers look at their columns. Therefore, in order to make the settings of the program and the page folder, it is now stipulated as follows:
· There must be a Connections folder, store database connection files;
· There must be an Inc folder, store containing files and other page calls;
· There must be an image folder, store the image file;
· There must be a CSS folder, storing style sheet file;
· There must be a Doc folder, store development document;
· There must be an Original Files folder, store the image source file;
· There must be a JS folder, store the script file;
· In the column with the upload function, you must have an upload folder, store the uploaded image and file;
· In the ASP.NET column, you must set the Source folder, save the program C # or VB.NET source file;
· In the ASP.NET column, you must set the bin folder and store the dynamic connection library file;
· In the SQL Server library column, you must set the SQL folder to store the database structure SQL script file;
· You must set up the Backup folder to store the backup file before the update.
6, annotation and indentation
In the past development, most of Zhong Dynamed online use is an ASP scripting language. This language program is nestled with the page, which is often referred to as "Italian noodles" code, so reading procedures tend to take time, in .net In the development, CodeBehind technology appears to separate the code and the page to a certain extent, you can reduce the burden of programmers, but let the program faster read code, you must also add a comment in the appropriate part, and please use the code shrinkage reasonably In, there should be used code indentation between the module and modules, cycle blocks, condition blocks, and the like, and indented to two half-angle spaces.
7, safety and debugging
In the late development, the programmer also takes place to debug and funnel detection tasks, including the following
· All pages are running at 800 * 600, 1024 * 768 two resolutions;
· All pages are running in IE5.0, 5.5, and 6.0 through no JavaScript error;
· All operations involving deletions, once a confirmation operation is performed after the user selection;
· Check the SQL vulnerability, and each pass parameters, exclude the possibility of intrusion;
· After the development is completed, it must be hung in the workstation room to debug through internal debugging first week, it can be officially released;
Second, [Program Development Management Standardization]
1, project management
The program development is generally responsible by the development ministers, and the development ministers must set a team leader according to the current human resource allocation program. Each project group must set a team leader, responsible for the progress of the entire project, first draw a project schedule, and project operation process And the necessary development documentation. The project team generally develops weekly reports, reviewed by the development ministers, and specifies the weekly discussion time, one minimum twice a week, the project team leader records the specific content. See "Project Development Quality and Management Standardization". 2, reward and punishment mechanism
The project team heads must check the procedures developed by members, strictly follow the process of quality standardization, and make records, weekly statistics, and give the member score per week, submit ministers. After the project development is completed, all members of the project team must focus on and mutually inspect procedures, make final revisions, project leader submitted to the project. This group developed a star, and the bonus was reflected in the monthly salary. In addition, the project team leader should have different evaluation of each employee in accordance with the efficiency of each member, the efficiency of code written, and is reflected in the project development documentation in the project system, so that the Human Resources Department will investigate and issue rewards.