A development specification processing method and apparatus
Patent Information
- Application Number
- CN202611247876.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-17
- Publication Date
- 2026-10-13
AI Technical Summary
在项目独立配置方式中,各项目分别维护自身的研发规范,例如根据项目编号从模板库中获取项目匹配的规范模板,上述方式不同项目的研发规范相互独立,无法实现规范配置共享
[0014]根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任一实施例的方法。
Smart Images

Figure CN122904872A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a method and apparatus for processing research and development specifications. Background Technology
[0002] Existing solutions for handling development standards typically employ methods such as independent project configuration and shared standard configuration packages. In the independent project configuration approach, each project maintains its own development standards, for example, retrieving a matching standard template from a template library based on the project number. This method results in independent development standards across different projects, making it impossible to share standard configurations. In the shared standard configuration approach, development standards are encapsulated into reusable configuration packages. Each project installs these reusable packages and references the development standards within them, enabling reuse of certain development standards across multiple projects. However, this approach still requires each project to maintain its own referenced reusable configuration package, making it difficult to achieve unified sharing of development standards across multiple projects. Summary of the Invention
[0003] In view of this, embodiments of the present invention provide a method and apparatus for processing R&D specifications. By receiving a specification maintenance processing request sent by a user for a project to be processed, the method first determines the project type information corresponding to the project to be processed, and then matches a target specification template suitable for the project to be processed from a project template library based on the project type information. This allows for unified processing of R&D specifications applicable to different project types using the project template library, eliminating the need to maintain independent R&D specifications for different projects. This achieves configuration sharing of R&D specifications between different projects and reduces the maintenance cost of R&D specifications. In addition, by uniformly maintaining target specification templates corresponding to different project type information through the project template library, and performing specification maintenance processing on the project to be processed based on the target specification templates, different projects can adopt matching R&D specifications according to their own project types. This eliminates the need to install and reference reusable configuration packages of different versions, enabling R&D specifications to be shared among projects within the same project type.
[0004] To achieve the above objectives, according to one aspect of the present invention, a method for processing research and development specifications is provided, comprising: Based on the user's request for specification maintenance of pending projects, determine the project type information corresponding to the pending projects; Match the pre-built project template library with the project type information to determine the target specification template corresponding to the project to be processed; The project to be processed is maintained and standardized based on the target specification template.
[0005] Optionally, a pre-built project template library is matched based on project type information to determine the target specification template corresponding to the project to be processed, including: In response to the project type information being represented as a newly created project type, the preset available project parameter information is displayed to the user; Receive the target project parameter information selected by the user based on the available project parameter information; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
[0006] Optionally, the project to be processed is subjected to specification maintenance based on the target specification template, including: Obtain the target project template information and target rule plugin information corresponding to the target specification template, as well as the project meta information corresponding to the project to be processed; Parse the target project template information and determine template placeholder information based on the parsing results; The template placeholder information is replaced based on the project metadata to generate the target specification file information corresponding to the project to be processed. The target rule plugin is loaded based on the target rule plugin information, and the target specification file information is mapped to the target rule plugin to obtain the specification maintenance processing result corresponding to the project to be processed.
[0007] Optionally, a pre-built project template library is matched based on project type information to determine the target specification template corresponding to the project to be processed, including: In response to the project type information being represented as an existing project type, obtain the project dependency information corresponding to the project to be processed; Determine the target project parameter information corresponding to the project to be processed based on the project dependency information; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
[0008] Optionally, the project to be processed is subjected to specification maintenance based on the target specification template, including: Based on the obtained current specification document information corresponding to the project to be processed, determine the current rule set of the project to be processed; The current set of rules is compared with the set of target rules corresponding to the target specification template, and a project difference report is generated based on the comparison results for the project to be processed. Generate code migration patches for the projects to be processed based on the project difference report; The current specification file information of the project to be processed is updated based on the code migration patch to obtain the specification maintenance processing result corresponding to the project to be processed.
[0009] Optionally, after performing specification maintenance on the project to be processed based on the target specification template, the process also includes: In response to receiving an upgrade check command for a pending project from a user, determine the current specification version information corresponding to the pending project and the target specification version information corresponding to the target specification template; Compare the current specification version information with the target specification version information; In response to the inconsistency identified in the comparison results, the version difference information corresponding to the item to be processed is determined. Based on version difference information, determine specification change information, generate specification upgrade plans based on specification change information, and perform upgrade processing on the projects to be processed according to the specification upgrade plans.
[0010] Optionally, after performing specification maintenance on the project to be processed based on the target specification template, the process also includes: In response to receiving a specification inspection request from a user for a project to be processed, determine the project code information corresponding to the project to be processed; The preset code inspection engine is invoked to perform code inspection on the project code information corresponding to the project to be processed, and the code inspection result is obtained. Based on the standard test results, a code repair plan is generated, and the project code information is repaired based on the code repair plan.
[0011] Optionally, the method further includes: By utilizing a pre-configured pluggable rule plugin architecture, the pre-acquired R&D specification rules are encapsulated to obtain the target rule plugin; Bind the target rule plugin to the target specification template and store the binding result in a pre-built project template library.
[0012] According to a second aspect of the present invention, a processing apparatus for research and development specifications is provided, comprising: The determination module is used to determine the project type information corresponding to the project to be processed based on the specification maintenance processing request sent by the user. The matching module is used to match a pre-built project template library based on project type information to determine the target specification template corresponding to the project to be processed. The processing module is used to perform specification maintenance on the project to be processed based on the target specification template.
[0013] According to a third aspect of the present invention, an electronic device is provided, comprising: One or more processors; Memory, used to store one or more programs. When one or more programs are executed by one or more processors, the one or more processors implement the methods of any of the above embodiments.
[0014] According to a fourth aspect of the present invention, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method of any of the above embodiments.
[0015] According to a fifth aspect of the present invention, a computer program product is provided, including a computer program that, when executed by a processor, implements the method of any of the above embodiments.
[0016] One embodiment of the above invention has the following advantages or beneficial effects: Based on the specification maintenance processing request sent by the user for the project to be processed, the project type information corresponding to the project to be processed is determined; a pre-built project template library is matched according to the project type information to determine the target specification template corresponding to the project to be processed; and specification maintenance processing is performed on the project to be processed based on the target specification template. This embodiment, by receiving the specification maintenance processing request sent by the user for the project to be processed, first determines the project type information corresponding to the project to be processed, and then matches a target specification template suitable for the project to be processed from the project template library according to the project type information. This enables unified processing of R&D specifications applicable to different project types using the project template library, eliminating the need to maintain independent R&D specifications for different projects, achieving configuration sharing of R&D specifications between different projects, and reducing the maintenance cost of R&D specifications; furthermore, by uniformly maintaining the target specification template corresponding to different project type information through the project template library, and performing specification maintenance processing on the project to be processed based on the target specification template, different projects can adopt matching R&D specifications according to their own project type, without the need to install and reference various versions of reusable configuration packages, and all projects can achieve sharing of R&D specifications within the same project type range.
[0017] The further effects of the aforementioned unconventional alternative methods will be explained below in conjunction with specific implementation methods. Attached Figure Description
[0018] The accompanying drawings are provided to better understand the invention and are not intended to unduly limit the scope of the invention. Wherein: Figure 1 This is a schematic diagram of the main flow of the R&D specification processing method according to an embodiment of the present invention; Figure 2 This is a schematic diagram of the main flow of a research and development specification processing method according to a preferred embodiment of the present invention; Figure 3 This is a schematic diagram of the main modules of the processing device for the research and development specifications according to an embodiment of the present invention; Figure 4 This is an exemplary system architecture diagram in which embodiments of the present invention can be applied; Figure 5This is a schematic diagram of the structure of a computer system suitable for implementing terminal devices or servers of the present invention. Detailed Implementation
[0019] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of the present invention, including various details to aid understanding. These details should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the invention. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0020] It should be noted that the acquisition, storage, and application of personal information involved in the embodiments of the present invention comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0021] Existing solutions for handling development standards typically employ methods such as independent project configuration and shared standard configuration packages. In the independent project configuration approach, each project maintains its own development standards, for example, retrieving a matching standard template from a template library based on the project number. This method results in independent development standards across different projects, making it impossible to share standard configurations. In the shared standard configuration approach, development standards are encapsulated into reusable configuration packages. Each project installs these reusable packages and references the development standards within them, enabling reuse of certain development standards across multiple projects. However, this approach still requires each project to maintain its own referenced reusable configuration package, making it difficult to achieve unified sharing of development standards across multiple projects.
[0022] In view of this, according to one aspect of the present invention, a method for processing research and development specifications is provided.
[0023] Figure 1 This is a schematic diagram of the main flow of the R&D specification processing method according to an embodiment of the present invention. Figure 1 As shown, the processing method for R&D specifications according to an embodiment of the present invention includes the following steps S101 to S103.
[0024] Step S101: Based on the user's request for specification maintenance of the pending project, determine the project type information corresponding to the pending project.
[0025] In this embodiment, the project to be processed is a software development project that requires R&D specification processing. The project to be processed can be a new project that has not yet been created, or an existing project that has completed some development work, etc. For example, the project to be processed may include a mobile application project developed based on the React technology stack, a front-end application project developed based on the Vue technology stack, a desktop application project developed based on the Electron technology stack, etc. The specification maintenance processing request is used to request the R&D specification related processing to be processed on the project to be processed. It can be sent by the user through command-line tools, graphical processing interfaces, or API calls, etc. The specification maintenance processing request may include processing requirements such as project creation, specification initialization, specification migration, specification update, or specification detection.
[0026] Upon receiving a specification maintenance request from a user for a pending project, the request can be parsed to determine the project type information. The request may include a user-selected project type identifier. For example, when a user initiates a project specification configuration operation via a command-line tool, preset project type options are displayed, allowing the user to choose between a new project type or an existing project type based on actual development needs. The project type information corresponding to the pending project is determined based on the user's selection. Alternatively, the target project corresponding to the specification maintenance request can be automatically identified. This includes obtaining the project directory information, project configuration file information, and project dependency information of the pending project. Based on these information, the system analyzes whether the pending project already has project code and specification configuration files. If no project code or specification configuration files exist, the project type is determined to be a new project type; if project code or specification configuration files exist, the project type is determined to be an existing project type. This method automatically determines the project type information of the pending project based on user input or the project's own status, providing a data foundation for subsequently matching the corresponding target specification template.
[0027] Step S102: Match the pre-built project template library according to the project type information to determine the target specification template corresponding to the project to be processed.
[0028] In this embodiment, the project template library is a pre-built data set for storing and maintaining specification templates corresponding to different types of projects. The project template library can be categorized and stored according to technology stack type, application scenario, or project development environment. The project template library can include multiple project templates, each project template can correspond to one or more project types, and is associated with corresponding project template information, specification configuration information, and rule plugin information, etc. Among them, the project template information is used to describe the file structure, basic code files, and configuration file generation information required for project initialization; the specification configuration information is used to describe the R&D specification content such as code format specifications, code inspection rules, and submission information specifications; the rule plugin information is used to describe the rule plugins required to perform corresponding specification rule detection and repair processing.
[0029] After determining the project type information corresponding to the project to be processed, the project template library can be matched based on the project type information to determine the target specification template corresponding to the project to be processed. The target specification template is a set of template data obtained from the project template library based on the project type information of the project to be processed, used to perform specification configuration processing on the project to be processed. Specifically, the project type information may include the target project parameter information selected by the user, such as the user selecting the React technology stack, Vue technology stack, or Electron technology stack when creating a new project. Based on the target project parameter information, the project template library is searched for the project template corresponding to the target project parameter information, and the matched project template is determined as the target specification template.
[0030] In another implementation, project feature analysis can be performed on the project to be processed based on its project dependency information, project configuration file information, and directory structure information. This determines the technology stack type corresponding to the project, and the analyzed technology stack type is matched with template tags in the project template library to determine the corresponding target specification template. For example, when it is detected that the project to be processed contains React-related dependency information and its corresponding build configuration file, the React technology stack corresponding to the project can be determined, and the corresponding React project specification template can be matched from the project template library. Through this method, suitable target specification templates can be automatically determined for different types of projects to be processed, providing a unified data foundation for subsequent specification configuration generation, specification migration, and specification detection.
[0031] Step S103: Perform specification maintenance processing on the project to be processed based on the target specification template.
[0032] In this embodiment, specification maintenance refers to the process of initializing, migrating, or updating specifications for the project to be processed based on the specification-related data in the target specification template, so as to enable the project to be processed to have the R&D specification capabilities corresponding to the target specification template. Specifically, specification maintenance may include generating specification configuration files, loading rule plugins, updating existing specification rules, and associating specification detection capabilities. For example, code inspection rule configuration files, code formatting configuration files, and commit information inspection configuration files can be generated based on the specification configuration information in the target specification template, and corresponding specification detection and repair capabilities can be configured based on the rule plugin information.
[0033] In this embodiment, when the project to be processed is a newly created project, the project template information, specification configuration information, and rule plugin information corresponding to the target specification template can be obtained. The project file structure corresponding to the project to be processed is generated according to the project template information. At the same time, the corresponding specification configuration file is generated according to the specification configuration information, and the rule plugin corresponding to the rule plugin information is loaded, so that the project to be processed has the same R&D specification capability as the target specification template.
[0034] In another implementation, when the project to be processed is an existing project, the existing specification configuration information of the project can be obtained and compared with the specification configuration information in the target specification template to determine specification differences. Based on these differences, the specification configuration file in the project to be processed is updated, or corresponding code migration processing information is generated to complete the specification alignment of the project to be processed with the target specification template. Furthermore, based on the version information corresponding to the target specification template, the specification version currently used by the project to be processed can be upgraded, thereby achieving unified processing of R&D specifications across multiple projects.
[0035] In addition to new and existing projects, this can also include temporary projects undergoing specification migration or multi-branch collaborative development projects. Specifically, it can obtain the project branch information, development environment information, and current specification configuration information for the project to be processed, and determine the target specification template for the project based on the project branch information. For example, during parallel development across multiple branches, different branches may use different versions of specification configurations. Based on the specification version information of the target branch, the corresponding target specification template can be matched from the project template library, and specification synchronization processing can be performed on the current branch based on the target specification template, including updating specification configuration files, loading corresponding rule plugins, and adjusting code inspection rules. Through this method, unified specification processing can be achieved across different development stages and branch environments, improving specification consistency during collaborative development.
[0036] This embodiment determines the project type information corresponding to the project to be processed based on the specification maintenance processing request sent by the user; matches the project type information with a pre-built project template library to determine the target specification template corresponding to the project to be processed; and performs specification maintenance processing on the project to be processed based on the target specification template. This embodiment, by receiving the specification maintenance processing request sent by the user for the project to be processed, first determines the project type information corresponding to the project to be processed, and then matches a target specification template suitable for the project to be processed from the project template library based on the project type information. This allows for unified processing of R&D specifications applicable to different project types using the project template library, eliminating the need to maintain independent R&D specifications for different projects, achieving configuration sharing of R&D specifications between different projects, and reducing the maintenance cost of R&D specifications. Furthermore, by uniformly maintaining the target specification templates corresponding to different project type information through the project template library, and performing specification maintenance processing on the project to be processed based on the target specification templates, different projects can adopt matching R&D specifications according to their own project type, without the need to install and reference various versions of reusable configuration packages. This allows all projects to achieve sharing of R&D specifications within the same project type range.
[0037] Optionally, the project type information is matched against a pre-built project template library to determine the target specification template corresponding to the project to be processed, including: in response to the project type information being identified as a new project type, displaying the preset available project parameter information to the user; receiving the target project parameter information selected by the user for the available project parameter information; and matching the target project parameter information against the pre-built project template library to obtain the target specification template corresponding to the project to be processed.
[0038] In this embodiment, when the project type information indicates that the project to be processed is a new project, a target specification template suitable for the project can be determined according to user needs. Specifically, in response to determining that the project to be processed is a new project, pre-stored available project parameter information is obtained. This available project parameter information may include different types of project development environment information, such as React technology stack, Vue technology stack, and Electron technology stack. This available project parameter information is displayed to the user through a command-line interface or a graphical user interface. The user can select the target project parameter information from the displayed available project parameter information according to the development needs of the project to be created. After receiving the user's selection, the target project parameter information corresponding to the project to be processed is determined. Further, based on the target project parameter information, a pre-built project template library is queried, and the project template matching the target project parameter information in the project template library is determined as the target specification template corresponding to the project to be processed. Through this method, the corresponding specification template can be quickly matched according to the user's actual development needs, avoiding manual configuration of development specifications and improving the consistency and efficiency of new project specification configuration.
[0039] In addition, the system can automatically determine the target specification template based on the project creation parameters of the project to be processed, without relying on the user to actively select target project parameters. For example, it can obtain project creation parameters such as the project name, project directory, project description, and preset development environment information input by the user, identify the corresponding project application scenario and technology stack type based on the project creation parameters, and then match the corresponding target specification template from the project template library according to the identified technology stack type. By automatically identifying these parameters, the number of user steps can be reduced, and the automation level of the target specification template determination process can be improved.
[0040] Optionally, the specification maintenance process for the project to be processed is performed based on the target specification template, including: obtaining the target project template information and target rule plugin information corresponding to the target specification template, as well as the project meta-information corresponding to the project to be processed; parsing the target project template information and determining the template placeholder information based on the parsing results; replacing the template placeholder information based on the project meta-information to generate the target specification file information corresponding to the project to be processed; loading the target rule plugin according to the target rule plugin information, and mapping the target specification file information to the target rule plugin to obtain the specification maintenance processing result corresponding to the project to be processed.
[0041] In this embodiment, the target project template information describes the project file structure, basic code files, and configuration file generation rules, while the target rule plugin information describes the rule plugins required for performing specification detection and repair processing. Project metadata may include project name, project version, project author, and other information. Further, the target project template information is parsed to identify pre-set template placeholder information, such as project name placeholders, version information placeholders, and dependency configuration placeholders. Based on the project metadata, the template placeholder information is replaced to generate the target specification file information corresponding to the project to be processed. The corresponding target rule plugin is loaded according to the target rule plugin information, and a mapping relationship is established between the target rule plugin and the target specification file information, enabling the target rule plugin to perform subsequent specification detection and repair processing based on the specification rules in the target specification file information. Through this method, the specification initialization configuration of a new project can be automatically completed, reducing manual configuration operations and improving the consistency of development specifications between different projects.
[0042] In another embodiment, the specification initialization process for a new project can be automatically completed based on the configuration information generated in the target specification template. Specifically, the specification configuration generation rules and project structure definition information corresponding to the target specification template are obtained, and the specification configuration items to be created are determined according to the specification configuration generation rules, such as code inspection rule configuration, code formatting rule configuration, and commit information verification configuration. Further, the project directory structure corresponding to the project to be processed is created according to the project structure definition information, and the specification configuration items are written into the corresponding target configuration information. At the same time, the corresponding rule plugin is downloaded and installed according to the rule plugin information associated with the target specification template, so that the rule plugin can perform specification detection processing based on the target specification file information. In this way, it is not necessary to rely on a preset complete project template file, but to dynamically generate the project specification configuration based on the target specification template, thereby improving the flexibility and applicability of the specification initialization of a new project.
[0043] Optionally, the project type information is matched against a pre-built project template library to determine the target specification template corresponding to the project to be processed, including: in response to the project type information being characterized as an existing project type, obtaining the project dependency information corresponding to the project to be processed; determining the target project parameter information corresponding to the project to be processed based on the project dependency information; and matching the target project parameter information against the pre-built project template library to obtain the target specification template corresponding to the project to be processed.
[0044] In this embodiment, when the project type information indicates that the project to be processed is an existing project, a suitable target specification template can be determined based on the existing project characteristics of the project to be processed. Specifically, the project dependency information corresponding to the project to be processed can be obtained. The project dependency information may include dependency component information, build tool information, development framework information, and runtime environment information recorded in the project configuration file. Further, the project dependency information is parsed to identify the development framework and technical environment used by the project to be processed, thereby determining the target project parameter information corresponding to the project to be processed. For example, when it is detected that the project dependency information includes React-related dependency components and corresponding build tools, it can be determined that the project to be processed corresponds to the React technology stack. Based on the target project parameter information, the project template library is queried, and the project template that matches the target project parameter information is determined as the target specification template corresponding to the project to be processed. In this way, the suitable specification template can be automatically identified for existing projects, avoiding manual search for corresponding specifications and improving the efficiency of specification migration and unified processing of existing projects.
[0045] In other embodiments, the target specification template can also be determined based on the current specification configuration information of the project to be processed. Specifically, the specification configuration file, directory structure information, and code file feature information of the project to be processed are obtained. Project feature information is generated based on the rule information, directory structure information, and code file feature information in the specification configuration file. Then, the project feature information is matched with the template matching information in the project template library, and the project template that meets the preset matching conditions is determined as the target specification template. In this way, the corresponding target specification template can be determined even when complete project dependency information is lacking, improving the applicability and accuracy of the target specification template matching process.
[0046] Optionally, the specification maintenance process for the project to be processed is performed based on the target specification template, including: determining the current rule set of the project to be processed based on the obtained current specification file information corresponding to the project to be processed; comparing the current rule set with the target rule set corresponding to the target specification template, and generating a project difference report based on the comparison result; generating a code migration patch for the project to be processed based on the project difference report; and updating the current specification file information of the project to be processed based on the code migration patch to obtain the specification maintenance result for the project to be processed.
[0047] In this embodiment, for the standard configuration processing of existing projects, standard migration processing can be performed on the project to be processed based on the target standard template. Specifically, firstly, the current standard file information corresponding to the project to be processed is obtained. The current standard file information may include the currently used code inspection rules, code formatting rules, submission information rules, and corresponding rule parameters. The current rule set currently used by the project to be processed is obtained based on the current standard file information. Further, the target rule set corresponding to the target standard template is obtained. The current rule set and the target rule set are compared in terms of rule name, rule parameters, and rule status to determine the differences between the project to be processed and the target standard template, such as added rules, deleted rules, and rule configuration conflicts. A project difference report is generated based on the difference information. Then, the target rule plugin that needs to be adjusted is determined based on the project difference report, and the migration processing logic corresponding to the target rule plugin is called to perform abstract syntax tree parsing on the affected project code and generate the corresponding code migration patch. Based on the code migration patch, the code files and current standard file information in the project to be processed are automatically updated to make the project to be processed adapt to the target standard template. Through the above method, the automatic identification and migration of standard differences in existing projects can be achieved, reducing the cost of manual rectification and improving the efficiency of standard migration.
[0048] In another embodiment, specification configuration processing can also be performed without directly modifying the project code. Specifically, specification adjustment suggestions are generated based on the project difference report, and the adjustments corresponding to newly added rules, deleted rules, and configuration conflict rules are displayed through a user interface. After receiving confirmation from the user regarding the adjustments, the current specification file information and corresponding rule plugin information of the project to be processed are updated. This approach ensures the accuracy of specification migration while improving the user's control over the specification change process.
[0049] Optionally, after performing specification maintenance on the project to be processed based on the target specification template, the process further includes: in response to receiving an upgrade check command for the project to be processed sent by the user, determining the current specification version information corresponding to the project to be processed and the target specification version information corresponding to the target specification template; comparing the current specification version information with the target specification version information; in response to the comparison result indicating inconsistency, determining the version difference information corresponding to the project to be processed; determining specification change information based on the version difference information, and generating a specification upgrade plan based on the specification change information, so as to perform upgrade processing on the project to be processed according to the specification upgrade plan.
[0050] In this embodiment, after completing the specification maintenance process for the project to be processed, the specification version corresponding to the project is upgraded. Specifically, in response to receiving an upgrade check command from the user for the project to be processed, the current specification version information used by the project to be processed and the target specification version information corresponding to the target specification template are obtained. The current specification version information can be recorded in the specification configuration file of the project to be processed, and the target specification version information can be recorded in the version information of the target specification template. Further, a version comparison is performed between the current specification version information and the target specification version information. When the comparison result indicates that the current specification version information and the target specification version information are inconsistent, the version difference information between the project to be processed and the target specification template is determined, and the specification change records between the corresponding versions are obtained based on the version difference information. The specification change records may include added rules, modified rules, deleted rules, and rule parameter adjustment information, etc. A corresponding specification upgrade plan is generated based on the specification change information, and the specification configuration file and rule plugin information in the project to be processed are updated according to the specification upgrade plan to synchronize the project to be processed to the target specification version. Additionally, when the comparison result indicates that the current specification version information and the target specification version information are consistent, the above upgrade process is not executed. The above methods enable automatic detection and incremental upgrades of R&D specification versions across multiple projects, reducing manual maintenance costs and improving the consistency of specification updates.
[0051] In other embodiments, automated upgrades can also be performed based on specification version change records. Specifically, version change records between different target specification versions can be pre-saved. When an inconsistency is detected between the current specification version information and the target specification version information, the version change records between the current specification version information and the target specification version information are retrieved sequentially according to the version node corresponding to the current specification version information, and a specification upgrade plan is generated according to the version update order. During the upgrade process, the specification configuration file can be updated sequentially according to each version change record, and code migration processing logic can be invoked to generate code migration patches for specification changes involving code adjustments. This approach supports cross-version specification upgrades, improving the stability and reliability of the specification upgrade process.
[0052] Optionally, after performing specification maintenance on the project to be processed based on the target specification template, the process further includes: responding to receiving a specification detection request from the user for the project to be processed, determining the project code information corresponding to the project to be processed; calling a preset specification detection engine to perform specification detection on the project code information corresponding to the project to be processed, and obtaining specification detection results; generating a code repair plan based on the specification detection results, and performing repair processing on the project code information based on the code repair plan.
[0053] In this embodiment, after completing the specification configuration process for the project to be processed, specification detection and automatic repair processing are performed on the project. Specifically, in response to receiving a specification detection request from a user for the project to be processed, the target specification file information or target rule plugin information corresponding to the project can be loaded. The target specification file information describes the specification content that the project to be processed needs to follow, such as code format rules, code inspection rules, and submission information rules. The target rule plugin information determines the rule plugins for performing the corresponding specification detection and repair processing. Further, based on the target specification file information and the target rule plugin information, a preset specification detection engine is invoked to scan and analyze the project code information corresponding to the project to be processed. The specification detection engine can invoke corresponding detection logic according to different types of rule plugins to obtain the code locations in the project code information that do not meet the specification requirements, the corresponding rule information, and the problem description information, and generate specification detection results. Based on the specification detection results, the code locations that need to be adjusted and the corresponding repair methods are determined, a code repair plan is generated, and automatic repair processing is performed on the project code information based on the code repair plan, such as adjusting the code structure through abstract syntax tree transformation. Through the above method, automatic detection and automatic repair of R&D specifications can be achieved, reducing the cost of manual investigation and modification and improving the efficiency of specification execution.
[0054] In another embodiment, tiered processing can be performed based on the specification detection results. Specifically, based on the rule level information in the detection results, issues corresponding to the project code information can be divided into error-level issues and suggestion-level issues. Forced repair tasks are generated for error-level issues, and optimization suggestions are generated for suggestion-level issues. The corresponding processing results are displayed through a user interface. Upon receiving user confirmation of the repair operation, the repair logic corresponding to the target rule plugin is invoked to execute the code repair processing and generate a repair log. This approach ensures the accuracy of specification detection while improving user control over the code repair process.
[0055] Optionally, the method further includes: using a pre-set pluggable rule plugin architecture to encapsulate the pre-acquired R&D specification rules to obtain a target rule plugin; binding the target rule plugin with the target specification template, and storing the binding result in a pre-built project template library.
[0056] In this embodiment, during the construction of the project template library, pre-set pluggable rule plugin architecture can be used to encapsulate pre-acquired R&D specification rules into pluggable components to obtain target rule plugins corresponding to the R&D specification rules. Specifically, the R&D specification rules can be encapsulated according to the rule definition, rule parameters, applicable scope, and corresponding processing logic of the R&D specification rules, based on preset plugin interfaces, so that the target rule plugins can be independently loaded and called by the project processing tool kernel engine. Further, a binding relationship is established between the target rule plugins and the corresponding target specification templates, and the plugin identifier, version information, and corresponding relationship information of the target rule plugins are stored in the pre-built project template library, enabling the project processing tool kernel engine to determine the corresponding target rule plugins based on the target specification templates and load and execute them. Through the above methods, independent expansion, replacement, and maintenance of R&D specification rules can be achieved, and different target specification templates can be flexibly associated with different target rule plugins, improving the flexibility and scalability of R&D specification processing.
[0057] According to a preferred embodiment of the present invention, a research and development specification processing system and a corresponding research and development specification processing method are provided, which are used to realize unified specification processing, specification version synchronization, migration of existing project specifications, and automatic detection and repair of code specifications in the process of multi-project research and development. The research and development specification processing system mainly includes a project processing tool kernel engine, a pluggable rule plugin architecture, a project template library, a difference analysis engine, an AST migration engine, a version processing module, and a Lint detection engine.
[0058] Figure 2 This is a schematic diagram of the main flow of a research and development specification processing method according to a preferred embodiment of the present invention. Figure 2As shown, firstly, a project processing tool kernel engine is built, a pluggable rule plugin architecture is designed, and an abstract interface and data structure schema for specification configuration files are defined, forming a project template library. Then, multi-dimensional project template libraries are created according to technology stack dimensions (H5 mobile, PC, browser extensions, desktop, etc.), with each template associated with a corresponding set of specification rules (code style check rules, commit message specifications, directory structure conventions, etc.). When a new project is created, the CLI receives the target project parameter information selected by the user, pulls the corresponding target project template from the aforementioned project template library, parses the placeholders in the target project template, injects project metadata (project name, version, author, etc.), and generates a standardized project structure with complete specification configuration. For existing projects, the CLI scans the project's existing specification configuration files, compares them with the latest rule set in the aforementioned project template library, generates a project difference report (new rules, deprecated rules, configuration conflicts), and generates automated migration patch scripts based on AST parsing technology. Establish a standardized version handling mechanism. When team standards are updated, the project template library version number is updated. The CLI uses a version comparison algorithm to detect differences between the local project standard version and the template library version, providing a one-click upgrade command to synchronize the standards to the target version. During the project development phase, the CLI provides local detection commands that call the Lint engine corresponding to the latest rule set to scan the project code, locate and report errors / warnings for non-compliant code snippets, and provide automatic repair options to batch correct automatable standard issues.
[0059] The following section details the specifics of the above process.
[0060] The project processing tool's kernel engine can be implemented based on Node.js and uses command parsing frameworks such as commander.js to parse command-line arguments and process subcommands. This kernel engine serves as the entry point for the development specification processing workflow, responsible for receiving user commands, task scheduling, loading rule plugins, managing plugin lifecycles, and controlling the specification detection process.
[0061] The pluggable rule plugin architecture encapsulates different R&D specification rules into independent target rule plugins, enabling different specification rules to be developed, deployed, loaded, and replaced independently. Each target rule plugin is implemented based on a preset plugin interface, which includes an initialization method `init()`, a configuration validation method `validate()`, a code auto-fixing method `fix()`, and a rule definition retrieval method `getRuleDef()`. The `init()` method initializes the rule plugin's runtime environment; the `validate()` method validates the rule parameters in the specification configuration file; the `fix()` method automatically modifies non-compliant code based on the rule definition; and the `getRuleDef()` method returns information such as the rule name, rule level, scope of application, and processing logic corresponding to the current rule plugin. Furthermore, rule plugins are loaded into the project processing tool's kernel engine through a unified registration mechanism. For example, the project processing tool's kernel engine can register detected rule plugins to the plugin management list using the `pluginRegistry.register` method, thus invoking the corresponding rule plugin when performing R&D specification detection, upgrade, or migration processing. By decoupling the R&D specification rules from the project processing tool's kernel engine in the above manner, when R&D specifications are added, modified, or deprecated, the R&D specification rules can be expanded or adjusted by adding, replacing, or updating the corresponding rule plugins without modifying the core processing logic of the project processing tool's kernel engine. This solves the problem of high coupling between R&D specification rules and specification processing tools, and the need to modify the tool's core logic for updating specification rules, thereby improving the scalability, compatibility, and efficiency of R&D specification processing and specification updates.
[0062] To enable dynamic discovery of rule plugins, the project processing tool's kernel engine can also be configured with a plugin discovery mechanism. During the tool's execution, it scans the `node_modules` directory for plugin packages that conform to preset naming rules, such as rule plugin packages prefixed with `lint-plugin-`, automatically discovering and loading the corresponding rule plugins. Alternatively, it can explicitly specify which rule plugins to load based on the plugin list information recorded in the project's specification configuration file, thereby improving the flexibility of rule plugin loading.
[0063] The data structure of a specification configuration file can be defined using a JSON Schema. A JSON Schema describes the data fields contained in the specification configuration file and the constraints between those fields. For example, a specification configuration file may include information such as rule name, rule level, rule parameters, and applicable document scope. The rule level can include different levels such as error, warn, and off, indicating the processing priority of different specification issues. The JSON Schema file can be stored in the project template library and serves as the basis for generating, validating, and parsing specification configuration files.
[0064] Furthermore, the project processing tool's kernel engine can define lifecycle hooks, including lifecycle nodes such as beforeCheck, afterCheck, beforeFix, and afterFix. Rule plugins can register corresponding lifecycle hooks based on business needs to execute corresponding processing logic before, after, and before automatic repair. For example, after completing specification testing, a test report can be generated via the afterCheck lifecycle hook, or a repair completion notification can be sent via the afterFix lifecycle hook.
[0065] By breaking down R&D specification rules into multiple independent rule plugins and processing them uniformly through a project template library, projects with different technology stacks can load different combinations of rule plugins according to their own needs. When R&D specifications change, only the corresponding rule plugins need to be updated or new rule plugins need to be added; there is no need to modify the core engine of the project processing tool, thereby improving the scalability and maintenance efficiency of the R&D specification processing system.
[0066] After completing the core engine of the project processing tool and the architecture of pluggable rule plugins, a project template library was further established according to the technology stack. The project template library is used to store standardized project templates and specification configuration files corresponding to different types of projects, and associates each project template with the corresponding specification rule set, so as to quickly match the corresponding specification template when creating a project or migrating project specifications.
[0067] The project template library can be deployed in a remote Git repository or npm registry and organized according to technology stack types. Each project template directory can include source code template files, static resource files, editor configuration files, code inspection configuration files, code formatting configuration files, commit message specification configuration files, build configuration files, environment variable configuration files, dependency configuration files, and template description files. The dependency configuration files record the version number of the corresponding project template, associated target rule plugin information, and applicable scope information. The specification configurations in each project template are organized in a plug-in manner, with each development specification rule corresponding to a target rule plugin implementation. The project template library is used to handle version maintenance and template distribution. By building a project template library organized according to the technology stack dimension, standardized development specification templates can be provided for different types of projects, enabling new projects to directly inherit unified specifications, while allowing existing projects to quickly complete specification matching and migration based on corresponding technology stack templates, improving the consistency of development specification processing.
[0068] After the project template library is built, when a user needs to create a new project, the project initialization process can be executed based on the project processing tool's kernel engine. The project processing tool receives project processing instructions from the user for the project to be processed, and performs at least one of the following processing operations based on these instructions: project creation, specification configuration, specification update, specification detection, or specification migration. Specifically, in this embodiment, the project processing tool can be implemented using a command-line interface (CLI) tool. The CLI tool's kernel engine receives the user's command to create a new project and, based on the user's selected technology stack parameters, retrieves the corresponding target project template from the project template library to generate a standardized project structure with complete R&D specification configuration.
[0069] Specifically, users can execute CLI commands to create a new project, such as the `rich` command. The project processing tool's kernel engine then initiates an interactive questionnaire process, displaying pre-configured available project parameters to the user. These available parameters can include H5 mobile React stack, PC React stack, React Native stack, Taro stack, browser extension React stack, desktop Electron stack, and Vue stack, among others. Users select their target project parameters from the displayed options based on their development needs. Upon receiving the selected parameters, the project processing tool's kernel engine performs template matching in the project template library and pulls the corresponding target project template from a remote Git repository or npm registry. Then, the kernel engine downloads the target project template to the project directory to complete the project's basic structure creation. Further, the kernel engine uses a template parsing engine to parse the template files within the target project template, identifying predefined template placeholder information. For example, the target project template file may include placeholders such as `{{project-directory}}` and `{{package-manager}}`. The project processing tool's kernel engine obtains the project metadata input by the user, which may include the project name, project version, project author, and maintenance processing tool information, and replaces the corresponding template placeholders based on the project metadata. After completing the template file parsing and placeholder replacement, the project processing tool's kernel engine further reads the meta.json file corresponding to the target project template. Based on the rule plugin list information recorded in the meta.json file, it retrieves the corresponding rule plugin package from the plugin registry and installs the rule plugin package into the project's devDependencies dependencies. Further, the project processing tool's kernel engine generates a target specification configuration file based on the target project template. The target specification configuration file may include configuration files such as .eslintrc.js, .prettierrc, and commitlint.config.js. The rule configuration content in the target specification configuration file is automatically generated based on the rule set associated with the target project template and references the already installed target rule plugins. Using the above method, newly created projects do not require developers to manually configure development specification tools such as ESLint, Prettier, and commitlint. Instead, the project processing tool's kernel engine automatically pulls the project template, replaces the project metadata, installs rule plugins, and generates specification configuration files. This enables newly created projects to have complete development specification capabilities, improving the efficiency of specification initialization and the consistency of specifications for new projects.
[0070] For existing projects, specification migration can be performed based on the project processing tool's kernel engine to synchronize the R&D specifications corresponding to the existing projects to the latest specification version in the project template library.
[0071] Specifically, the project processing tool's kernel engine receives existing project scanning commands from users, such as the `richscan` command, and performs scanning on the projects to be processed. First, the kernel engine reads the `package.json` file from the project and identifies the corresponding project parameters based on the project dependency information recorded in the `package.json` file. For example, it determines the project's technology stack type based on dependencies such as React, Vue, and Electron. After determining the project parameters, the kernel engine locates the specification configuration files currently used by the project, including files such as `.eslintrc`, `.prettierrc`, and `commitlint.config.js`, and reads the current rule configuration information contained within them. The difference analysis engine parses the current rule configuration information into a standardized rule mapping table, for example, using a data structure of `ruleName→ruleConfig` to represent the current rule set. Then, based on the determined project parameters, the difference analysis engine retrieves the corresponding target specification template from the project template library, reads the target rule set from the target specification template, and compares the current rule set with the target rule set item by item to generate a project difference report. The project discrepancy report can include discrepancy types such as newly added rules, obsolete rules, and configuration conflicts. Newly added rules are rules that exist in the target specification template but not in the current rule set of the project to be processed; obsolete rules are rules that exist in the current rule set of the project to be processed but have been deleted from the target specification template; configuration conflicts indicate that the configuration parameters of the same rule differ between the project to be processed and the target specification template. For configuration conflicts, the project processing tool's kernel engine calls the AST migration engine to generate code migration patches. Specifically, the AST migration engine, based on the rule definition corresponding to the conflicting rule, calls the corresponding Lint tool to scan the project code information in the project to be processed, determines the code location that triggers the conflicting rule, and analyzes the corresponding code structure based on Abstract Syntax Tree (AST) parsing technology to generate automated code modification scripts. For example, when a rule in the target specification template is changed from allowing `console.log` calls to disallowing `console.log` calls, the AST migration engine can locate all `console.log` call nodes in the project code and generate AST transformation scripts to delete or replace the corresponding code nodes, thus forming a code migration patch. After generating the code migration patch, the project processing tool's kernel engine displays a project difference report and the scope of impact of the code migration patch to the user, along with an interactive migration confirmation interface. Once the user confirms the migration operation, the project processing tool's kernel engine executes the code migration patch, automatically modifying the project specification configuration file and the affected project code files, and generating a migration log.The above methods can transform the traditional process of migrating existing project specifications, which relies on manual review and modification, into an automated process, reducing the cost of rectifying existing project specifications and improving the accuracy of specification migration.
[0072] To ensure continuous synchronization of R&D standards, the system also establishes a standard version handling mechanism. When a team's R&D standards change, the project template library updates the corresponding template version number, and the project processing tool's kernel engine detects the differences between the current standard version of the project to be processed and the target standard template version.
[0073] Specifically, the target specification configuration file for each project records the currently used specification version information, for example, using `specVersion:"1.2.0"` to record the current specification version number. When a user executes a specification upgrade check command, such as `rich upgrade --check`, the project processing tool's kernel engine retrieves the latest target specification version information from the remote specification template library and compares the current specification version information with the target specification version information using semantic version number SemVer. The version comparison algorithm records changelogs based on version changes between the current and target specification versions, identifies specification changes such as added, modified, and deprecated rules between different versions, and generates a specification upgrade preview report. When a user executes a one-click upgrade command, such as `rich upgrade`, the project processing tool's kernel engine executes the specification upgrade operations corresponding to each version in the order of version changes, including updating the project specification configuration file, updating the rule plugin version, and synchronizing rule configuration changes. For specification changes involving project code modifications, such as rule adjustments causing code to not conform to the new specification, the project processing tool's kernel engine synchronously calls the AST migration engine to perform code migration processing, generating corresponding code modification patches through AST parsing. After the upgrade is complete, the project processing tool's kernel engine updates the `specVersion` information corresponding to the project and generates an upgrade log, recording version changes, rule changes, and code migration information during this specification upgrade process. Through this version processing mechanism, integrated processing of development specifications—from version detection, difference analysis, upgrade plan generation to automatic execution—can be achieved, enabling multiple projects to quickly synchronize to a unified specification version.
[0074] During the daily development phase of a project, the project processing tool's kernel engine also provides R&D standardization detection and automatic repair functions to identify standardization issues in the project code in real time.
[0075] Specifically, when a user executes a lint inspection command, such as `rich lint`, the project processing tool's kernel engine loads the target lint configuration file and target rule plugin information for the project to be processed, and calls the corresponding lint inspection engine based on the target rule plugin type. For example, for JavaScript or TypeScript code lint inspection, the ESLint inspection engine can be called; for CSS code lint inspection, the Stylelint inspection engine can be called; and for Git commit message lint inspection, the commitlint inspection engine can be called. Each lint inspection engine scans the project code information in the project to be processed according to the rule configuration in the target lint configuration file, identifies the code locations that do not meet the lint requirements and their corresponding problem descriptions, and generates a unified lint inspection result. The lint inspection result can be categorized and displayed according to the severity of the rule, for example, marking error-level issues as issues that must be fixed and warning-level issues as issues that are recommended for fix, while recording the corresponding file path, line number, rule name, and problem description. When a user executes an automatic fix command, such as `rich lint --fix`, the project processing tool's kernel engine calls the `fix()` method of the target rule plugin to batch fix the lint issues that can be automatically fixed. During the remediation process, the AST migration engine analyzes the code structure based on Abstract Syntax Tree (AST) technology and performs safe code transformations to avoid errors caused by direct text replacement. For issues that cannot be automatically remediated, the project processing tool's kernel engine retains corresponding issue tags for manual handling by developers. Simultaneously, the specification detection and remediation results can be exported to formats such as JSON, HTML, and JUnit via plugin lifecycle hooks for further integration into CI / CD processes or team development data dashboards. Through these methods, a closed loop of development specification detection, issue localization, and automatic remediation is achieved, improving the efficiency of development specification execution and reducing manual maintenance costs.
[0076] According to a second aspect of the present invention, a processing apparatus for research and development specifications is provided.
[0077] Figure 3 This is a schematic diagram of the main modules of the processing device according to an embodiment of the present invention. Figure 3 As shown, the processing device 300 according to the research and development specifications includes: The determination module 301 is used to determine the project type information corresponding to the project to be processed based on the specification maintenance processing request of the project to be processed sent by the user. Matching module 302 is used to match a pre-built project template library based on project type information to determine the target specification template corresponding to the project to be processed; Processing module 303 is used to perform specification maintenance processing on the project to be processed based on the target specification template.
[0078] Optionally, the matching module 302 is also used for: In response to the project type information being represented as a newly created project type, the preset available project parameter information is displayed to the user; Receive the target project parameter information selected by the user based on the available project parameter information; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
[0079] Optionally, the processing module 303 is also used for: Obtain the target project template information and target rule plugin information corresponding to the target specification template, as well as the project meta information corresponding to the project to be processed; Parse the target project template information and determine template placeholder information based on the parsing results; The template placeholder information is replaced based on the project metadata to generate the target specification file information corresponding to the project to be processed. The target rule plugin is loaded based on the target rule plugin information, and the target specification file information is mapped to the target rule plugin to obtain the specification maintenance processing result corresponding to the project to be processed.
[0080] Optionally, the matching module 302 is also used for: In response to the project type information being represented as an existing project type, obtain the project dependency information corresponding to the project to be processed; Determine the target project parameter information corresponding to the project to be processed based on the project dependency information; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
[0081] Optionally, the processing module 303 is also used for: Based on the obtained current specification document information corresponding to the project to be processed, determine the current rule set of the project to be processed; The current set of rules is compared with the set of target rules corresponding to the target specification template, and a project difference report is generated based on the comparison results for the project to be processed. Generate code migration patches for the projects to be processed based on the project difference report; The current specification file information of the project to be processed is updated based on the code migration patch to obtain the specification maintenance processing result corresponding to the project to be processed.
[0082] Optionally, the R&D-standard processing device 300 also includes an upgrade module, which is further used for: In response to receiving an upgrade check command for a pending project from a user, determine the current specification version information corresponding to the pending project and the target specification version information corresponding to the target specification template; Compare the current specification version information with the target specification version information; In response to the inconsistency identified in the comparison results, the version difference information corresponding to the item to be processed is determined. Based on version difference information, determine specification change information, generate specification upgrade plans based on specification change information, and perform upgrade processing on the projects to be processed according to the specification upgrade plans.
[0083] Optionally, the processing device 300 according to the research and development specifications also includes a detection module, which is further used for: In response to receiving a specification inspection request from a user for a project to be processed, determine the project code information corresponding to the project to be processed; The preset code inspection engine is invoked to perform code inspection on the project code information corresponding to the project to be processed, and the code inspection result is obtained. Based on the standard test results, a code repair plan is generated, and the project code information is repaired based on the code repair plan.
[0084] Optionally, the processing device 300 according to the development specifications also includes a binding module, which is further used for: By utilizing a pre-configured pluggable rule plugin architecture, the pre-acquired R&D specification rules are encapsulated to obtain the target rule plugin; Bind the target rule plugin to the target specification template and store the binding result in a pre-built project template library.
[0085] It should be noted that the specific implementation details of the processing device in the research and development specifications of this invention have been described in detail in the processing method of the research and development specifications above, so the details will not be repeated here.
[0086] According to a third aspect of the present invention, an electronic device is provided, comprising: one or more processors; and a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the method provided in the first aspect of the present invention.
[0087] According to a fourth aspect of the present invention, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method provided in the first aspect of the present invention.
[0088] According to a fifth aspect of the present invention, a computer program product is provided, including a computer program that, when executed by a processor, implements the method provided in the first aspect of the present invention.
[0089] Figure 4 An exemplary system architecture 400 is shown, which can be used to process R&D specifications according to embodiments of the present invention.
[0090] like Figure 4 As shown, system architecture 400 may include terminal devices 401, 402, and 403, a network 404, and a server 405. Network 404 serves as the medium for providing communication links between terminal devices 401, 402, and 403 and server 405. Network 404 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc.
[0091] Users can use terminal devices 401, 402, and 403 to interact with server 405 via network 404 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 401, 402, and 403, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social media platform software, etc. (for example only).
[0092] Terminal devices 401, 402, and 403 can be various electronic devices with displays that support web browsing, including but not limited to smartphones, tablets, laptops, and desktop computers.
[0093] Server 405 can be a server that provides various services, such as a backend management server that supports shopping websites browsed by users using terminal devices 401, 402, and 403 (for example only). The backend management server can analyze and process data such as received standard maintenance requests, and feed back the processing results (such as standard maintenance results - for example only) to the terminal devices.
[0094] It should be noted that the R&D specification processing method provided in the embodiments of the present invention is generally run by server 405, and correspondingly, the R&D specification processing device is generally set in server 405.
[0095] It should be understood that Figure 4 The number of terminal devices, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of terminal devices, networks, and servers can be included.
[0096] The following is for reference. Figure 5 It shows a schematic diagram of the structure of a computer system 500 suitable for implementing a terminal device of the present invention. Figure 5 The terminal device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0097] like Figure 5 As shown, the computer system 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes based on programs stored in read-only memory (ROM) 502 or programs loaded from storage section 508 into random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the system 500. The CPU 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0098] The following components are connected to I / O interface 505: an input section 506 including a keyboard, mouse, etc.; an output section 507 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, modem, etc. The communication section 509 performs communication processing via a network such as the Internet. Drive 510 is also connected to I / O interface 505 as needed. Removable media 511, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 510 as needed so that computer programs read from them can be installed into storage section 508 as needed.
[0099] In particular, according to the embodiments disclosed in this invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this invention include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 509, and / or installed from removable medium 511. When the computer program is run by the central processing unit (CPU) 501, it performs the functions defined above in the system of this invention.
[0100] The modules described in the embodiments of the present invention can be implemented in software or hardware. The described modules can also be housed in a processor; for example, a processor can be described as including a determining module, a matching module, and a processing module. The names of these modules do not necessarily limit the module itself; for example, the determining module can also be described as "a module for determining the project type information corresponding to a project to be processed based on a specification maintenance processing request sent by a user."
[0101] In another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist independently and not assembled into the device. The computer-readable medium carries one or more programs, which, when executed by the device, cause the device to include: determining project type information corresponding to the project to be processed based on a specification maintenance processing request for a project to be processed sent by a user; matching a pre-built project template library according to the project type information to determine a target specification template corresponding to the project to be processed; and performing specification maintenance processing on the project to be processed based on the target specification template.
[0102] The computer program product provided in this embodiment of the invention includes a computer program that, when executed by a processor, implements the processing method for the research and development specifications in this embodiment of the invention.
[0103] According to the technical solution of the present invention, the following advantages or beneficial effects are achieved: The project type information corresponding to the project to be processed is determined based on the specification maintenance processing request sent by the user; a pre-built project template library is matched according to the project type information to determine the target specification template corresponding to the project to be processed; and specification maintenance processing is performed on the project to be processed based on the target specification template. This embodiment, by receiving the specification maintenance processing request sent by the user for the project to be processed, first determines the project type information corresponding to the project to be processed, and then matches a target specification template suitable for the project to be processed from the project template library according to the project type information. This enables unified processing of R&D specifications applicable to different project types using the project template library, eliminating the need to maintain independent R&D specifications for different projects, achieving configuration sharing of R&D specifications between different projects, and reducing the maintenance cost of R&D specifications. Furthermore, by uniformly maintaining the target specification templates corresponding to different project type information through the project template library, and performing specification maintenance processing on the project to be processed based on the target specification templates, different projects can adopt matching R&D specifications according to their own project types, without the need to install and reference various versions of reusable configuration packages. This allows each project to achieve sharing of R&D specifications within the same project type range.
[0104] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
[0105] It should be noted that the acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
Claims
1. A method for processing research and development specifications, characterized in that, include: Based on the user's request for standardized maintenance of the pending project, determine the project type information corresponding to the pending project; Based on the project type information, a pre-built project template library is matched to determine the target specification template corresponding to the project to be processed; The project to be processed is maintained and standardized based on the target specification template.
2. The method according to claim 1, characterized in that, Based on the project type information, a pre-built project template library is matched to determine the target specification template corresponding to the project to be processed, including: In response to the project type information indicating a new project type, the preset available project parameter information is displayed to the user; Receive the target project parameter information selected by the user based on the available project parameter information; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
3. The method according to claim 2, characterized in that, Based on the target specification template, the project to be processed is subjected to specification maintenance processing, including: Obtain the target project template information and target rule plugin information corresponding to the target specification template, as well as the project meta information corresponding to the project to be processed; The target project template information is parsed, and template placeholder information is determined based on the parsing results; The template placeholder information is replaced based on the project metadata to generate the target specification file information corresponding to the project to be processed. The target rule plugin is loaded according to the target rule plugin information, and the target specification file information is mapped to the target rule plugin to obtain the specification maintenance processing result corresponding to the project to be processed.
4. The method according to claim 1, characterized in that, Based on the project type information, a pre-built project template library is matched to determine the target specification template corresponding to the project to be processed, including: In response to the project type information being characterized as an existing project type, the project dependency information corresponding to the project to be processed is obtained; Based on the project dependency information, determine the target project parameter information corresponding to the project to be processed; Based on the target project parameter information, a pre-built project template library is matched to obtain the target specification template corresponding to the project to be processed.
5. The method according to claim 4, characterized in that, Based on the target specification template, the project to be processed is subjected to specification maintenance processing, including: Based on the obtained current specification file information corresponding to the project to be processed, the current rule set of the project to be processed is determined; The current rule set is compared with the target rule set corresponding to the target specification template, and a project difference report corresponding to the project to be processed is generated based on the comparison result. Generate code migration patches for the projects to be processed based on the project difference report; The current specification file information of the project to be processed is updated based on the code migration patch to obtain the specification maintenance processing result corresponding to the project to be processed.
6. The method according to claim 3 or 5, characterized in that, After performing standardization maintenance on the project to be processed based on the target specification template, the process also includes: In response to receiving an upgrade check command for a pending project sent by a user, determine the current specification version information corresponding to the pending project and the target specification version information corresponding to the target specification template; The current specification version information is compared with the target specification version information; In response to the inconsistency identified in the comparison results, version difference information corresponding to the item to be processed is determined; specification change information is determined based on the version difference information, and a specification upgrade plan is generated according to the specification change information, so as to perform upgrade processing on the item to be processed according to the specification upgrade plan.
7. The method according to claim 3 or 5, characterized in that, After performing standardization maintenance on the project to be processed based on the target specification template, the process also includes: In response to receiving a specification detection request for a pending project sent by a user, the project code information corresponding to the pending project is determined; The preset standardization detection engine is invoked to perform standardization detection on the project code information corresponding to the project to be processed, and the standardization detection result is obtained. A code repair plan is generated based on the test results of the specifications, and the project code information is repaired based on the code repair plan.
8. The method according to claim 3, characterized in that, The method further includes: The target rule plugin is obtained by encapsulating the pre-acquired R&D specification rules using a pre-set pluggable rule plugin architecture. The target rule plugin is bound to the target specification template, and the binding result is stored in the pre-built project template library.
9. A processing device with research and development specifications, characterized in that, include: The determination module is used to determine the project type information corresponding to the project to be processed based on the specification maintenance processing request sent by the user. The matching module is used to match a pre-built project template library based on the project type information to determine the target specification template corresponding to the project to be processed. The processing module is used to perform standard maintenance processing on the project to be processed based on the target standard template.
10. An electronic device, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-8.
11. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-8.
12. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-8.