An intelligent auxiliary tool for standardized programming and its working method
Through the project management, library table mapping, interface API design and page visual designer of intelligent auxiliary tools, standardized code is generated, which solves the standardized programming problems in the IT industry, reduces costs and improves efficiency, and promotes programmers' speed growing up.
Patent Information
- Application Number
- CN202110775198.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-08
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-07-08
AI Technical Summary
Standardized programming problems in the IT industry lead to programmers making repeated mistakes, high project costs, diverse programming styles, large maintenance costs, and disconnection between learning and using, resulting in slow growth of programmers.
Design an intelligent auxiliary tool for standardized programming, including basic technology architecture modules, component library modules, intelligent programming assistant modules and application course modules. Through project management, library table mapping, interface API design, page visual designer and online preview module, Help programmers generate standardized code and learn standardized programming methods.
It reduces programming costs and time costs, improves development efficiency, helps programmers quickly learn and master standardized programming methods, realizes the integration of learning and use, and promotes the rapid growth of programmers.
Smart Images

Figure CN113641346B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of software systems for auxiliary programming, and in particular to an intelligent auxiliary tool for standardized programming and a working method thereof. Background Art
[0002] Since the 1990s, the IT industry has flourished, especially the rapid development of the Internet and mobile Internet in the past decade, which has led to the continuous innovation of IT technology; programming languages such as C, C++, Java, Python, programming frameworks such as Spring, SpringBoot, SpringCloud, open source codes GitHub, Gitee, etc., and intelligent programming products such as OutSystems, PowerApps, AppMaker, Tencent LowCode, Alibaba Yida, etc. are changing with each passing day; however, the rapid development of IT technology has not been able to solve the long-standing problems in the IT industry: the problem of standardized programming.
[0003] Programmers in the IT industry still follow the inherent growth trajectory: receive theoretical learning of programming on campus, intensive learning through training institutions, enter enterprises to explore, and try out in projects; the only difference between novice programmers and their predecessors is that the predecessors learned C++, while they learn Python; each programmer's coding habits come from their own learning paths and code snippets obtained through search engines; novice programmers almost repeat the mistakes made by their predecessors; novice programmers will almost reproduce the predecessors' non-standard programming style in another form.
[0004] The industry has tried many ways to solve this problem, including but not limited to the following:
[0005] 1. Coding standards: Detailed coding standards are formulated and programmers are required to follow them. However, this method has limited constraints on the scope of the standards and poor results due to the wide variety of understanding and execution capabilities of the standards.
[0006] 2. Management system: In conjunction with method 1, a strict management system is formulated, but the effect of this method is completely dependent on the executor and the effect is poor;
[0007] 3. Architecture separation: Architecture decoupling encapsulates functions into components, and separates component implementation and component calling into different teams. However, when there are more components, the management cost of this method is extremely high, and the application effects are uneven and unsatisfactory.
[0008] 4. Low-code development platform: Shield coding details through the development platform, allowing programmers to write less code, but this method will only make fewer and fewer programmers who can write programs.
[0009] In summary, the problem of standardized programming has not been solved, which has brought many impacts:
[0010] (1) Programmers make repeated mistakes, which increases project costs;
[0011] (2) Diverse programming styles and high maintenance costs;
[0012] (3) There is a disconnect between what programmers learn and what they use. Learning is difficult, growth is slow, and there is a huge gap between schools and enterprises. Summary of the invention
[0013] The present invention aims to solve the above-mentioned technical problems in the prior art. To this end, the purpose of the present invention is to propose an intelligent auxiliary tool and a working method for standardized programming that can enable programmers to quickly learn the standardized programming methods of their predecessors, reduce programming costs, integrate learning and use, and quickly and greatly improve efficiency.
[0014] The technical solution of the present invention to solve the above-mentioned technical problems is as follows: an intelligent auxiliary tool for standardized programming, including a basic technical architecture module, a component library module, an intelligent programming assistant module and an application course module. The component library module constructs components of each architecture based on the basic technical architecture module. The intelligent programming assistant module is a user interaction window. Users obtain standardized codes through the intelligent programming assistant. The application course module includes a variety of application learning courses.
[0015] Preferably, the intelligent programming assistant module includes a project management module, a library table mapping module, an interface API design and management module, a page visualization designer and an online preview module.
[0016] Preferably, the project management module includes information settings for the project and management of the business functions developed according to the project. The project information settings include basic project information and data source settings. The basic project information includes project name, project English name, project Icon, project type, project description, and project label. The data source settings include setting the project's data source type, host name / IP, user name, password, database port, and database. After filling in the information, a connection test is performed, and the configuration information is saved after the connection test passes. In subsequent development, the user can directly connect to the configured project database through the client connection tool and read the data information to quickly configure the required business functions.
[0017] Preferably, the library table mapping module is capable of mapping a database specified by a programmer, and a user implements a connection channel between an online programming assistant tool and a programmer's local database through a client.
[0018] Preferably, the interface API design and management module is a module that can configure the interface path and name, interface description, interface request type, interface action, request parameters, response parameters, and data model. When configuring the request parameters and response parameters, the library table mapping module quickly selects the fields of the library table as parameters, and automatically generates the interface code based on this information, and generates the main interface protocol information. The programmer copies this information to the interface protocol configuration, and can quickly complete the configuration instructions of the interface protocol. For the data table operation interface that cannot be implemented by the single-table interface, the SQL statement is directly modified in the generated XML file to complete the processing of complex logic. A publishing tool is also provided, which can be quickly published locally. The programmer can initiate a test through the postman tool. An interface query entry is also provided. The programmer can query according to the directory structure of the interface, or query the required interface according to the specified page. The detailed information of the interface can be viewed by viewing the interface details, including the interface name, request address, business logic, request parameters, and return parameters.
[0019] Preferably, the page visualization designer includes page management, component library, custom components, page templates, page designer, and preview and code generation modules. The page management is a tree-shaped management page directory, and can quickly create PC pages, create sub-pages, modify and delete pages. The component library includes basic components, chart component library and custom components. The basic components integrate third-party frameworks, such as Element-ui and uViewi's common component usage. The chart component library integrates various commonly used charts, and can quickly design various statistical analysis and map navigation projects. The custom components summarize and refine some commonly used functions according to the characteristics of common businesses, and encapsulate them into components for use by other pages. The page template is that the designer automatically saves the user-designed page as a template, and other pages can be quickly introduced and used. The page designer is a drag-and-drop component design. The preview and code generation are modules that users can click to run at any time to preview the real effect.
[0020] Preferably, the online preview module includes an online build and preview module, a code generation and download module, an interface document generation and download module, and a database document generation and download module. After the configuration of the online build and preview module project is completed, the project's running service can be directly generated through the project's online build function, and the programmer can directly preview the configured functional effects online. The code generation and download module automatically generates source code without any encapsulation according to the business rules configured by the user, and provides it to the user for use. The interface document generation and download module supports one-click generation of the project's interface document, which can be downloaded for viewing. The database document generation and download module supports one-click generation of the project's database document, which can be downloaded for viewing.
[0021] Preferably, the basic technical architecture module includes the industry's mainstream front-end and back-end separation architecture, with the front-end WEB adopting the VUE+HTML5 framework, the front-end APP adopting the uni-app framework, and the back-end adopting the J2EE SpringCloud microservice framework.
[0022] Preferably, the component library module is aimed at front-end applications, including basic components, chart components and custom components. The basic components integrate common component usage of third-party frameworks such as Element-ui and uView. The chart component library integrates various commonly used charts, which can quickly design various statistical analysis and map navigation projects. The custom components summarize and refine some commonly used functions according to the characteristics of common businesses, and encapsulate them into components for use by other pages.
[0023] Preferably, the application course needs to fully consider the user's ability level and learning effect. The application course first needs to start from the simplest to the most complex, guiding novices to quickly get started, understand and master the basic development tools and operating principles. This requires explanations on environment installation, project operation, naming conventions, common programming skills, and example explanations. Secondly, considering the large number of technical knowledge points, programmers are often trapped in the situation where they have learned the knowledge points but do not know how to use them. Therefore, the application course needs to be able to divide the technical knowledge points and reorganize them from the perspective of application, display them in a topological way, go deeper step by step, and seamlessly combine them with the project source code for example explanations. Programmers can search and learn on demand and use them while learning.
[0024] A working method of a standardized programming intelligent auxiliary tool is also provided, comprising the following steps:
[0025] (1) Programmers obtain project requirements, conduct demand analysis and library table design;
[0026] (2) The programmer creates a project through the project management module function and establishes a library table connection;
[0027] (3) Programmers establish library-table mappings based on business requirements;
[0028] (4) Define the interface and generate interface code through tools;
[0029] (5) Design the pages required for the business through the page visual designer and automatically generate source code;
[0030] (6) Preview the function effect through the online preview module and download the source code to the local project;
[0031] (7) Programmers master the operating principles of the generated source code by applying course modules;
[0032] (8) Programmers make necessary modifications and adjustments to the source code based on business needs.
[0033] The beneficial effect of adopting the above scheme is: the present invention not only absorbs the advantages of the low-code platform, greatly reduces the ability requirements of developers, and greatly improves efficiency; it also provides source code in a standard format to developers, reducing the time cost and the money cost of developing programs. It is a good teacher and friend for developers to grow and progress quickly. Developers can use this platform to quickly generate source code, and can also use this platform to quickly learn the standardized programming methods of predecessors. It should be widely promoted and used in the market. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A schematic diagram of the architecture of an intelligent auxiliary tool for standardized programming according to the present invention;
[0035] Figure 2 This is a schematic diagram of the architecture of the intelligent programming assistant module of the present invention;
[0036] Figure 3 The present invention is a workflow diagram of a standardized programming intelligent auxiliary tool. DETAILED DESCRIPTION
[0037] The principles and features of the present invention are described below in conjunction with the accompanying drawings. The examples given are only used to explain the present invention and are not used to limit the scope of the present invention.
[0038] like Figure 1 , Figure 2 As shown, an intelligent auxiliary tool for standardized programming includes a basic technical architecture module, a component library module, an intelligent programming assistant module and an application course module. The component library module builds component libraries of various architectures based on the basic technical architecture module. The intelligent programming assistant module is a user interaction window. Users obtain standardized codes through the intelligent programming assistant. The application course module includes a variety of application learning courses.
[0039] The intelligent programming assistant module includes a project management module, a library table mapping module, an interface API design and management module, a page visualization designer and an online preview module.
[0040] Among them, the project management module includes the information settings of the project and the management of the business functions developed according to the project. The information settings of the project include basic project information and data source settings. The basic project information includes project name, project English name, project Icon, project type, project description, and project label. The data source settings include setting the project's data source type, host name / IP, user name, password, database port, and database. After filling in, a connection test is performed, and the configuration information is saved after the connection test passes. In subsequent development, users can directly connect to the configured project database through the client connection tool and read data information to quickly configure required business functions.
[0041] Among them, the library table mapping module is capable of mapping the database specified by the programmer. The user realizes the connection channel between the online programming assistant tool and the programmer's local database through the client. The interface API design and management module is a module that can configure the interface path and name, interface description, interface request type, interface action, request parameters, response parameters, and data model. When configuring the request parameters and response parameters, the library table mapping module quickly selects the fields of the library table as parameters, and automatically generates the interface code based on this information, and generates the main interface protocol information. The programmer copies this information into the interface protocol configuration, and can quickly complete the configuration description of the interface protocol. For the data table operation interface that cannot be implemented by the single-table interface, the SQL statement is directly modified in the generated XML file to complete the processing of complex logic. A publishing tool is also provided, which can be quickly published locally. The programmer can initiate a test through the postman tool. An interface query entry is also provided. The programmer can query according to the directory structure of the interface, or query the required interface according to the specified page. The detailed information of the interface can be viewed by viewing the interface details, including the name of the interface, request address, business logic, request parameters, and return parameters.
[0042] Among them, the page visualization designer includes page management, component library, custom components, page templates, page designer, and preview and code generation modules. The page management is a tree-shaped management page directory, and can quickly create PC pages, create subpages, modify and delete pages. The component library includes basic components, chart component library and custom components. The basic components integrate third-party frameworks, such as Element-ui, uViewi's common component usage, such as input boxes, text fields, single selections, multiple selections, drop-down boxes, drop-down trees, etc. The chart component library integrates various commonly used charts, and can quickly design various statistical analysis and map navigation projects, such as integrated line charts, bar charts, bar charts, pie charts, ring charts, topographic maps, Amap, Baidu Maps and other commonly used charts. The custom component summarizes and refines some commonly used functions according to the characteristics of common businesses, and encapsulates them into components for use by other pages. The custom component not only provides calling methods, but also provides all the source code of the component. The page template is that the designer automatically saves the user-designed page as a template , other pages can be quickly introduced and used, fully meeting the current developers' modular, component-based, and reusable programming ideas. The page designer is a drag-and-drop component design that supports copying, pasting, and cutting to any location. It also has a powerful shortcut key processing center that sets commonly used operations as shortcut keys to greatly improve the efficiency of designers. The canvas, property setting panel, event panel, and style design panel can all be dragged. The designer supports full screen, clear, undo, redo, etc. It supports life cycle, project resource management, and class style (less / css). When users drag components into the designer, a property setting panel will appear on the right, which can conveniently set component properties and change component status in real time. The style editor contains simple properties and advanced properties. Common styles can be quickly set by clicking, and manual rewriting of styles is also supported. The preview and code generation are modules that users can click to run at any time to preview the real effect. The designer can directly render the user's design into a real project, what you see is what you get, without waiting; it can automatically generate concise and efficient source code for users to download and use.
[0043] Among them, the online preview module includes an online build and preview module, a code generation and download module, an interface document generation and download module, and a database document generation and download module. After the configuration of the online build and preview module project is completed, the project's running service can be directly generated through the project online build function, and the programmer can directly preview the configured functional effects online. The code generation and download module automatically generates source code without any encapsulation according to the business rules configured by the user. The code generation is based on the basic technology framework module. Through the basic technology framework module, the mainstream technology framework in the industry is extracted, such as the J2EE microservice framework based on SSM and the front-end page framework based on vue+elementui. The basic technology framework module not only provides various technical systems, but also includes related basic functions. It is a source code project that can be run without business functions and is provided to users. The interface document generation and download module supports one-click generation of the project's interface document, supports doc / pdf, and can be downloaded for viewing. The database document generation and download module supports one-click generation of the project's database document, supports doc / pdf, and can be downloaded for viewing.
[0044] Among them, the basic technical architecture module includes the industry's mainstream front-end and back-end separation architecture, with the front-end WEB adopting the VUE+HTML5 framework, the front-end APP adopting the uni-app framework, and the back-end adopting the J2EE SpringCloud microservice framework.
[0045] Among them, the component library module is aimed at front-end applications, including basic components, chart components and custom components. The basic components integrate the common component usage of third-party frameworks such as Element-ui and uView. The chart component library integrates various commonly used charts, which can quickly design various statistical analysis and map navigation projects. The custom components summarize and refine some commonly used functions according to the characteristics of common businesses, and encapsulate them into components for use by other pages.
[0046] Among them, the application courses need to fully consider the user's ability level and learning effect. First of all, the application courses need to start from the simplest to the most complex, guiding novices to quickly get started, understand and master the basic development tools and operating principles. This requires explanations on environment installation, project operation, naming conventions, common programming skills, and example explanations. Secondly, considering the large number of technical knowledge points, programmers are often trapped in the situation where they have learned the knowledge points but do not know how to use them. Therefore, the application courses need to be able to divide the technical knowledge points and reorganize them from the application perspective, display them in a topological way, go deeper step by step, and seamlessly combine them with the project source code for example explanations. Programmers can search and learn on demand, and use them while learning.
[0047] like Figure 3As shown, a working method of a standardized programming intelligent auxiliary tool is also provided, comprising the following steps:
[0048] (1) Programmers obtain project requirements, conduct demand analysis and library table design;
[0049] (2) The programmer creates a project through the project management module function and establishes a library table connection;
[0050] (3) Programmers establish library-table mappings based on business requirements;
[0051] (4) Define the interface and generate interface code through tools;
[0052] (5) Design the pages required for the business through the page visual designer and automatically generate source code;
[0053] (6) Preview the function effect through the online preview module and download the source code to the local project;
[0054] (7) Programmers master the operating principles of the generated source code by applying course modules;
[0055] (8) Programmers make necessary modifications and adjustments to the source code based on business needs.
[0056] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. An intelligent auxiliary tool for standardized programming, characterized by: It includes a basic technical architecture module, a component library module, an intelligent programming assistant module and an application course module. The component library module builds components of each architecture based on the basic technical architecture module. The intelligent programming assistant module is a user interaction window. Users can obtain standardized codes through the intelligent programming assistant. The application course module includes a variety of application learning courses. The basic technical architecture module includes the industry's mainstream front-end and back-end separation architecture. The front-end WEB adopts the VUE+HTML5 framework, the front-end APP adopts the uni-app framework, and the back-end adopts the J2EE SpringCloud microservice framework. The component library module targets front-end applications and includes basic components, chart components and custom components. The basic components integrate the common component usage of third-party frameworks Element-ui and uView. The chart component library integrates various commonly used charts, which can quickly design various statistical analysis and map navigation projects. The custom components summarize and refine some commonly used functions according to the characteristics of common businesses, and encapsulate them into components for use by other pages. The intelligent programming assistant module includes a project management module Block, library table mapping module, interface API design and management module, page visual designer and online preview module. The interface API design and management module is a module for configuring interface path and name, interface description, interface request type, interface action, request parameters, response parameters and data model. When configuring request parameters and response parameters, the library table mapping module is used to quickly select library table fields as parameters, and the interface code is automatically generated according to this information, and the main interface protocol information is generated. The programmer can quickly complete the configuration description of the interface protocol by copying this information to the interface protocol configuration. For the data table operation interface that cannot be implemented by the single-table interface, the SQL statement is directly modified in the generated XML file to complete the processing of complex logic. A publishing tool is also provided for rapid local publishing. The programmer initiates the test through the postman tool, and an interface query entry is also provided. The programmer queries according to the directory structure of the interface, queries the required interface according to the specified page, and views the interface details to view the detailed information of the interface, including the name of the interface, request address, business logic, request parameters and return parameters.
2. The intelligent auxiliary tool for standardized programming according to claim 1, characterized in that: The project management module includes the information settings of the project and the management of the business functions developed according to the project. The information settings of the project include the basic information of the project and the data source settings. The basic information of the project includes the project name, the English name of the project, the project icon, the project type, the project description, and the project label. The data source settings include setting the data source type, host name / IP, user name, password, database port, and database of the project. After filling in, a connection test is performed, and the configuration information is saved after the connection test passes. In the subsequent development, the user directly connects to the configured project database through the client connection tool, reads the data information to quickly configure the required business functions.
3. The intelligent auxiliary tool for standardized programming according to claim 1, characterized in that: The library table mapping module is capable of mapping the database specified by the programmer, and the user realizes the connection channel between the online programming assistant tool and the programmer's local database through the client.
4. The intelligent auxiliary tool for standardized programming according to claim 1, characterized in that: The page visualization designer includes page management, component library, custom components, page templates, page designer, and preview and code generation modules. The page management is a tree-shaped management page directory, and can quickly create PC pages, create sub-pages, modify and delete pages. The component library includes basic components, chart component library and custom components. The basic components integrate third-party frameworks, and the chart component library integrates various commonly used charts to quickly design various statistical analysis and map navigation projects. The custom components summarize and refine some commonly used functions based on the characteristics of common businesses, and encapsulate them into components for use by other pages. The page template is that the designer automatically saves the user-designed page as a template, and other pages can be quickly introduced and used. The page designer is a drag-and-drop component design. The preview and code generation are modules that users can click to run at any time to preview the real effect.
5. The intelligent auxiliary tool for standardized programming according to claim 1, characterized in that: The online preview module includes an online build and preview module, a code generation and download module, an interface document generation and download module, and a database document generation and download module. After the configuration of the online build and preview module project is completed, the project's running service is directly generated through the project's online build function, and the programmer can directly preview the configured functional effects online. The code generation and download module automatically generates source code without any encapsulation according to the business rules configured by the user, and provides it to the user for use. The interface document generation and download module supports one-click generation of the project's interface document, and downloads it for viewing. The database document generation and download module supports one-click generation of the project's database document, and downloads it for viewing.
6. A working method implemented by an intelligent auxiliary tool for standardized programming according to any one of claims 1 to 5, characterized in that: The following steps are involved: (1) Programmers obtain project requirements, conduct demand analysis and library table design; (2) The programmer creates a project through the project management module function and establishes a library table connection; (3) Programmers establish library-table mapping based on business needs; (4) Define the interface and generate interface code through tools; (5) Design the pages required for the business through the page visual designer and automatically generate source code; (6) Preview the function effect through the online preview module and download the source code to the local project; (7) Programmers master the operating principles of the generated source code by applying course modules; (8) Programmers make necessary modifications and adjustments to the source code based on business needs.