WO2021022703A1 - Procédé et dispositif de reconstruction de projet logiciel, dispositif informatique et support de stockage - Google Patents

Procédé et dispositif de reconstruction de projet logiciel, dispositif informatique et support de stockage Download PDF

Info

Publication number
WO2021022703A1
WO2021022703A1 PCT/CN2019/117238 CN2019117238W WO2021022703A1 WO 2021022703 A1 WO2021022703 A1 WO 2021022703A1 CN 2019117238 W CN2019117238 W CN 2019117238W WO 2021022703 A1 WO2021022703 A1 WO 2021022703A1
Authority
WO
WIPO (PCT)
Prior art keywords
software project
name
new software
hierarchical structure
folder
Prior art date
Application number
PCT/CN2019/117238
Other languages
English (en)
Chinese (zh)
Inventor
王保军
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021022703A1 publication Critical patent/WO2021022703A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Definitions

  • This application relates to the field of software technology, and in particular to a method, device, computer device, and non-volatile readable storage medium for software project reconstruction.
  • the first aspect of the present application provides a software project reconstruction method, the method includes:
  • the receiving a name modification command for the designated folder in the hierarchical structure diagram, and modifying the name of the designated folder according to the name modification command includes:
  • the detecting the number of delegates in all the functions includes:
  • the method further includes:
  • the path of the custom class in the SQL file is correspondingly modified according to the modification of the designated folder.
  • the judging whether the SQL file of the new software project contains a custom class includes:
  • the method further includes:
  • the method further includes:
  • a second aspect of the present application provides a software project reconstruction device, the device includes:
  • the extraction module is used for all folders in the new software project to generate a hierarchical structure diagram of the folders;
  • the first modification module is configured to receive a command to modify the name of the designated folder in the hierarchical structure diagram, modify the name of the designated folder according to the name modification command, and modify the designated folder according to the hierarchical structure diagram The package path of the predetermined file under the folder;
  • a parsing module for parsing the predetermined file into an abstract syntax tree
  • the detection module is used to traverse the abstract syntax tree to obtain all the functions in the predetermined file, and detect the number of delegates in all the functions;
  • the early warning module is used to send an early warning message if the number of commissions in all the functions is greater than or equal to a preset threshold.
  • a third aspect of the present application provides a computer device that includes a processor, and the processor is configured to implement the software project reconstruction method when executing computer-readable instructions stored in a memory.
  • a fourth aspect of the present application provides a non-volatile readable storage medium having computer readable instructions stored thereon, and when the computer readable instructions are executed by a processor, the software project reconstruction method is implemented.
  • This application copies the original software project to the target path to obtain a new software project; extracts all the folders in the new software project to generate a hierarchical structure diagram of the folder; and receives information about the designated folder in the hierarchical structure diagram A name modification command to modify the name of the designated folder according to the name modification command, and modify the package path of a predetermined file in the designated folder according to the hierarchical structure diagram; parse the predetermined file into an abstract syntax tree Traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of commissions in all functions; if the number of commissions in all functions is greater than or equal to a preset threshold, an early warning message is issued.
  • This application realizes the construction of a new software project based on the original software project, and can detect software defects in the new software project.
  • Fig. 1 is a flowchart of a software project reconstruction method provided by an embodiment of the present application.
  • Figure 2 is a structural diagram of a software project reconstruction device provided by an embodiment of the present application.
  • Fig. 3 is a schematic diagram of a computer device provided by an embodiment of the present application.
  • the software project reconstruction method of this application is applied to one or more computer devices.
  • the computer device is a device that can automatically perform numerical calculation and/or information processing in accordance with pre-set or stored instructions.
  • Its hardware includes, but is not limited to, a microprocessor and an application specific integrated circuit (ASIC) , Field-Programmable Gate Array (FPGA), Digital Processor (Digital Signal Processor, DSP), embedded equipment, etc.
  • ASIC application specific integrated circuit
  • FPGA Field-Programmable Gate Array
  • DSP Digital Processor
  • embedded equipment etc.
  • the computer device may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • the computer device can interact with the user through a keyboard, a mouse, a remote control, a touch panel, or a voice control device.
  • Fig. 1 is a flowchart of a software project reconstruction method provided in Embodiment 1 of the present application.
  • the software project reconstruction method is applied to a computer device for quickly constructing a new software project based on the original software project, and can detect software defects in the new software project.
  • the software project reconstruction method includes:
  • a software project path setting interface can be generated, and the source path (ie the root path of the original software project) and the target path (ie the root path of the new software project) set by the user in the software project path setting interface can be received, and obtained from the source path For the original software project, copy the original software project to the target path to obtain the new software project.
  • the source path is D: ⁇ com ⁇ project1 and the target path is D: ⁇ com ⁇ project2.
  • a software project list can be displayed on the software project path setting interface, the software project list includes various existing software projects, and the original software project is determined according to a user's selection operation.
  • the folders of different levels of the software project constitute the package of the software project. Extracting all folders in the new software project and generating a hierarchical structure diagram of the folders is to extract all the packages in the new software project to generate a hierarchical structure diagram of the packages.
  • Package is a feature that exists to facilitate the management of the directory structure of organizational files and to prevent naming conflicts between different files.
  • the names of classes in different packages can be the same, just need to bring the package path to distinguish them when using them.
  • a predetermined file (such as a java file) is used to define a class.
  • the predetermined file contains a package statement, which is used to specify the package path.
  • the predetermined file is the file under its package path.
  • the content of a predetermined file Test.java is "package com.test; public class Test ⁇ ", where "package com.test” is the package statement, "com.test” is the package path, and the path of the scheduled file is com/test/Test.java. If the path of the predetermined file changes, the package path in the predetermined file needs to be changed accordingly, otherwise an error will occur.
  • the hierarchical structure diagram is a tree diagram, and the hierarchical structure diagram intuitively displays the hierarchical structure of the new software project to visualize the new software project.
  • Each node in the hierarchical structure diagram represents a folder.
  • the extracting all folders in the new software project and generating a hierarchical structure diagram of the folders includes: starting from the root path of the new software project, traversing all the folders in the new software project , Extract each folder traversed, and use each extracted folder as a node in the hierarchical structure diagram.
  • a recursive traversal method can be used to traverse all the folders of the new software project.
  • Each folder of the new software project may contain subfolders and/or files; if the folder contains subfolders, the traversal continues.
  • the folder setting interface of the new software project can be generated according to the hierarchical structure diagram, and the user’s instruction to modify the name of the designated folder in the hierarchical structure in the folder setting interface can be received, and the designated folder The name of is changed to the target name set by the user.
  • the folder setting interface includes the hierarchical structure diagram
  • the hierarchical structure diagram includes all the folders in the new software project
  • a selection box is set for each folder
  • the folder is selected and then pops up
  • the name setting window of the folder is for the user to set the target name of the folder.
  • the name modification commands for multiple designated folders in the hierarchical structure diagram can be received one by one, and the names of the multiple designated folders and the multiple designated files can be modified in batches according to the name modification instructions for the multiple designated folders The package path of the predetermined file under the folder.
  • each folder includes subfolders and/or files. If it is a folder, it continues to traverse; if it is a file, it is judged whether it is a predetermined file, and if it is a predetermined file, the package path of the predetermined file is modified.
  • the package sentence may be read from the predetermined file, and the name of the designated folder in the package sentence may be modified to the target name.
  • the package path of the scheduled file For example, receiving a name modification command for the second level in the hierarchical structure diagram, according to the name modification command, uniformly modify the names of the second level folders to the names set by the user, and modify the second level The package path of the predetermined file under the hierarchy folder.
  • a selection box can be set on the folder setting interface for each level in the hierarchical structure diagram. When a certain level is selected, the name of the folder at that level and the folder under that level will be uniformly modified. The package path of the scheduled file.
  • the root node of the abstract syntax tree is the predetermined document
  • the child nodes of the root node are class declarations, corresponding to the predetermined document
  • the child node of the class declaration is a function declaration, which represents the function in the predetermined file
  • the child node of the function declaration is a data declaration, which represents the data in the predetermined file.
  • the class declaration, function declaration, and data declaration can be obtained according to preset keywords. For example, in java software, you can get the class declaration through the keyword "class”, the function declaration through the keyword "static void”, and the data declaration through the keywords used to limit the data type.
  • S105 Traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all the functions.
  • Delegation is a mechanism that implements a part of the function of a class by another interface or another class. It is possible to detect whether each of the all functions calls other interfaces or classes, and calculate the number of times that all functions call other interfaces or classes. Every time a function calls another interface or class, the function contains a delegate.
  • the number of commissions of functions in the predetermined file is greater than or equal to a preset threshold, which indicates that the commissions in the predetermined file are overused. This method sends out an early warning message when the number of functions entrusted in the predetermined file is greater than or equal to a preset threshold to prompt developers to make corresponding modifications, thereby improving software quality.
  • the software project reconstruction method of the first embodiment copies the original software project to the target path to obtain a new software project; extracts all the folders in the new software project to generate a hierarchical structure diagram of the folders; and receives a comparison of the hierarchical structure
  • the predetermined file is parsed into an abstract syntax tree; all functions in the predetermined file are traversed through the abstract syntax tree, and the number of delegates in all functions is detected; if the number of delegates in all functions is greater than or equal to the preset Threshold, then send out warning message.
  • the first embodiment realizes the rapid construction of a new software project based on the original software project, improves the efficiency of software project reconstruction, and can detect software defects in the new software project, thereby improving software quality.
  • the method may further include: determining whether the SQL (Structured Query Language) file of the new software project contains a custom class; if the SQL file of the new software project contains For a custom class, the path of the custom class in the SQL file is correspondingly modified according to the modification of the designated folder.
  • SQL Structured Query Language
  • the class is an abstract data type.
  • the classes include system inherent classes and custom classes.
  • a custom class is a user-defined class.
  • the judging whether the SQL file of the new software project contains a custom class includes: obtaining the SQL statement in the SQL file; judging whether the input parameter and output parameter of the SQL statement contain a custom class.
  • SQL statements are statements used to operate the database, such as operations such as adding, deleting, modifying, and querying.
  • All custom classes can be recorded in a preset file, and it is judged whether the input parameters and output parameters of the SQL statement match the custom classes in the preset file, if the input parameters or output parameters of the SQL statement If it matches the custom class in the preset file, the input parameter and output parameter of the SQL statement include the custom class.
  • the method may further include: receiving a data source modification command for the new software project; and modifying the data source information of the new software project according to the data source modification command.
  • the data source information is stored in an XML (Extensible Markup Language, Extensible Markup Language) file.
  • Each bean tag includes tag name and tag class.
  • the tag name is used to distinguish different bean tags and play a role in positioning and searching.
  • the data source information may indicate different data sources, such as a DBCP data source, a C3P0 data source, or a JNDI data source.
  • a data source setting interface may be generated, receiving target data source information set by a user in the data source setting interface, and modifying the data source information to the target data source information.
  • the data source information is related information of the database, and is used to establish a connection with the database.
  • the data source information may include database user name, database login password, link string, driver category, and so on.
  • the database user name is represented as "username”
  • the database login password is represented as "password”
  • the driver class is represented as "oracle.jdbc.driver.OracleDriver”
  • the link string is represented as "jdbc:oracle:thin:@127.0.0.1: DEV”.
  • the method may further include: compiling and packaging the new software project; and verifying whether the compiled and packaged new software project can be started normally. If the compiled and packaged new software project can be started normally, the new software project passes the verification.
  • a management tool for example, save or ant
  • the verifying whether the compiled and packaged new software project can be started normally includes: verifying whether the new software project can connect to the database normally; verifying whether the XML file of the new software project can be loaded normally.
  • Fig. 2 is a structural diagram of a software project reconstruction device provided in the second embodiment of the present application.
  • the software project reconstruction device 20 is applied to a computer device.
  • the software project reconstruction of this device is to quickly construct a new software project based on the original software project, and can detect software defects in the new software project.
  • the software project reconstruction device 20 may include an acquisition module 201, an extraction module 202, a first modification module 203, an analysis module 204, a detection module 205, and an early warning module 206.
  • the obtaining module 201 is used to copy the original software project to the target path to obtain the new software project.
  • a software project path setting interface can be generated, and the source path (ie the root path of the original software project) and the target path (ie the root path of the new software project) set by the user in the software project path setting interface can be received, and obtained from the source path For the original software project, copy the original software project to the target path to obtain the new software project.
  • the source path is D: ⁇ com ⁇ project1 and the target path is D: ⁇ com ⁇ project2.
  • a software project list can be displayed on the software project path setting interface, the software project list includes various existing software projects, and the original software project is determined according to a user's selection operation.
  • the extraction module 202 is used to extract all the folders in the new software project and generate a hierarchical structure diagram of the folders.
  • the folders of different levels of the software project constitute the package of the software project. Extracting all folders in the new software project and generating a hierarchical structure diagram of the folders is to extract all the packages in the new software project to generate a hierarchical structure diagram of the packages.
  • Package is a feature that exists to facilitate the management of the directory structure of organizational files and to prevent naming conflicts between different files.
  • the names of classes in different packages can be the same, just need to bring the package path to distinguish them when using them.
  • a predetermined file (such as a java file) is used to define a class.
  • the predetermined file contains a package statement, which is used to specify the package path.
  • the predetermined file is the file under its package path.
  • the content of a predetermined file Test.java is "package com.test; public class Test ⁇ ", where "package com.test” is the package statement, "com.test” is the package path, and the path of the scheduled file is com/test/Test.java. If the path of the predetermined file changes, the package path in the predetermined file needs to be changed accordingly, otherwise an error will occur.
  • the hierarchical structure diagram is a tree diagram, and the hierarchical structure diagram intuitively displays the hierarchical structure of the new software project to visualize the new software project.
  • Each node in the hierarchical structure diagram represents a folder.
  • the extracting all folders in the new software project and generating a hierarchical structure diagram of the folders includes: starting from the root path of the new software project, traversing all the folders in the new software project , Extract each folder traversed, and use each extracted folder as a node in the hierarchical structure diagram.
  • a recursive traversal method can be used to traverse all the folders of the new software project.
  • Each folder of the new software project may contain subfolders and/or files; if the folder contains subfolders, the traversal continues.
  • the first modification module 203 is configured to receive a name modification command for the designated folder in the hierarchical structure diagram, modify the name of the designated folder according to the name modification command, and modify the name according to the hierarchical structure diagram. Specify the package path of the predetermined file in the folder.
  • the folder setting interface of the new software project can be generated according to the hierarchical structure diagram, and the user’s instruction to modify the name of the designated folder in the hierarchical structure in the folder setting interface can be received, and the designated folder The name of is changed to the target name set by the user.
  • the folder setting interface includes the hierarchical structure diagram
  • the hierarchical structure diagram includes all the folders in the new software project
  • a selection box is set for each folder
  • the folder is selected and then pops up
  • the name setting window of the folder is for the user to set the target name of the folder.
  • the name modification commands for multiple designated folders in the hierarchical structure diagram can be received one by one, and the names of the multiple designated folders and the multiple designated files can be modified in batches according to the name modification instructions for the multiple designated folders The package path of the predetermined file under the folder.
  • each folder includes subfolders and/or files. If it is a folder, it continues to traverse; if it is a file, it is judged whether it is a predetermined file, and if it is a predetermined file, the package path of the predetermined file is modified.
  • the package sentence may be read from the predetermined file, and the name of the designated folder in the package sentence may be modified to the target name.
  • the package path of the scheduled file For example, receiving a name modification command for the second level in the hierarchical structure diagram, according to the name modification command, uniformly modify the names of the second level folders to the names set by the user, and modify the second level The package path of the predetermined file under the hierarchy folder.
  • a selection box can be set on the folder setting interface for each level in the hierarchical structure diagram. When a certain level is selected, the name of the folder at that level and the folder under that level will be uniformly modified. The package path of the scheduled file.
  • the parsing module 204 is used to parse the predetermined file into an abstract syntax tree.
  • the root node of the abstract syntax tree is the predetermined document
  • the child nodes of the root node are class declarations, corresponding to the predetermined document
  • the child node of the class declaration is a function declaration, which represents the function in the predetermined file
  • the child node of the function declaration is a data declaration, which represents the data in the predetermined file.
  • the class declaration, function declaration, and data declaration can be obtained according to preset keywords. For example, in java software, you can get the class declaration through the keyword "class”, the function declaration through the keyword "static void”, and the data declaration through the keywords used to limit the data type.
  • the detection module 205 is configured to traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all functions.
  • Delegation is a mechanism that implements a part of the function of a class by another interface or another class. It is possible to detect whether each of the all functions calls other interfaces or classes, and calculate the number of times that all functions call other interfaces or classes. Every time a function calls another interface or class, the function contains a delegate.
  • the early warning module 206 is configured to send an early warning message if the number of commissions in all the functions is greater than or equal to a preset threshold.
  • the number of commissions of functions in the predetermined file is greater than or equal to a preset threshold, which indicates that the commissions in the predetermined file are overused. This method sends out an early warning message when the number of functions entrusted in the predetermined file is greater than or equal to a preset threshold to prompt developers to make corresponding modifications, thereby improving software quality.
  • the software project reconstruction device 20 of the second embodiment copies the original software project to the target path to obtain the new software project; extracts all the folders in the new software project to generate a hierarchical structure diagram of the folders;
  • the name modification command of the designated folder in the structure diagram, the name of the designated folder is modified according to the name modification command, and the package path of the predetermined file in the designated folder is modified according to the hierarchical structure diagram;
  • the predetermined file is parsed into an abstract syntax tree; all functions in the predetermined file are traversed through the abstract syntax tree, and the number of delegates in all functions is detected; if the number of delegates in all functions is greater than or equal to the predetermined If the threshold is set, an early warning message will be issued.
  • the second embodiment realizes the rapid construction of a new software project based on the original software project, improves the efficiency of software project reconstruction, and can detect software defects in the new software project, thereby improving software quality.
  • the software project reconstruction device 20 may further include: a second modification module for determining whether the SQL (Structured Query Language) file of the new software project contains a custom class ; If the SQL file of the new software project contains a custom class, the path of the custom class in the SQL file is correspondingly modified according to the modification of the designated folder.
  • SQL Structured Query Language
  • the class is an abstract data type.
  • the classes include system inherent classes and custom classes.
  • a custom class is a user-defined class.
  • the second modification module judging whether the SQL (Structured Query Language) file of the new software project contains a custom class includes: obtaining the SQL statement in the SQL file; judging the input parameters of the SQL statement And whether the custom class is included in the output parameter.
  • SQL statements are statements used to operate the database, such as operations such as adding, deleting, modifying, and querying.
  • All custom classes can be recorded in a preset file, and it is judged whether the input parameters and output parameters of the SQL statement match the custom classes in the preset file, if the input parameters or output parameters of the SQL statement If it matches the custom class in the preset file, the input parameter and output parameter of the SQL statement include the custom class.
  • the software project reconstruction device 20 may further include: a third modification module, configured to receive a data source modification command for the new software project; modify the new software project according to the data source modification command.
  • the data source information of the software project may further include: a third modification module, configured to receive a data source modification command for the new software project; modify the new software project according to the data source modification command.
  • the data source information of the software project may further include: a third modification module, configured to receive a data source modification command for the new software project; modify the new software project according to the data source modification command.
  • the data source information is stored in an XML (Extensible Markup Language, Extensible Markup Language) file.
  • Each bean tag includes tag name and tag class.
  • the tag name is used to distinguish different bean tags and play a role in positioning and searching.
  • the data source information may indicate different data sources, such as a DBCP data source, a C3P0 data source, or a JNDI data source.
  • a data source setting interface may be generated, receiving target data source information set by a user in the data source setting interface, and modifying the data source information to the target data source information.
  • the data source information is related information of the database, and is used to establish a connection with the database.
  • the data source information may include database user name, database login password, link string, driver category, and so on.
  • the database user name is represented as "username”
  • the database login password is represented as "password”
  • the driver class is represented as "oracle.jdbc.driver.OracleDriver”
  • the link string is represented as "jdbc:oracle:thin:@127.0.0.1: DEV”.
  • the software project reconstruction device 20 may further include: a verification module for compiling and packaging the new software project, and verifying whether the compiled and packaged new software project can be started normally . If the compiled and packaged new software project can be started normally, the new software project passes the verification.
  • a management tool for example, save or ant
  • the verifying whether the compiled and packaged new software project can be started normally includes: verifying whether the new software project can connect to the database normally; verifying whether the XML file of the new software project can be loaded normally.
  • This embodiment provides a non-volatile readable storage medium having computer readable instructions stored on the non-volatile readable storage medium, and when the computer readable instructions are executed by a processor, the implementation of the above software project reconstruction method is implemented
  • S105 Traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all functions;
  • the obtaining module 201 is configured to obtain a training sample set, each training sample in the training sample set is a time series of the acceleration of the user's walking, each training sample has a label, and the label marks the emotion category corresponding to the training sample;
  • the extraction module 202 is configured to extract all the folders in the new software project and generate a hierarchical structure diagram of the folders;
  • the first modification module 203 is configured to receive a name modification command for the designated folder in the hierarchical structure diagram, modify the name of the designated folder according to the name modification command, and modify the name according to the hierarchical structure diagram.
  • the parsing module 204 is used to parse the predetermined file into an abstract syntax tree
  • the detection module 205 is configured to traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all functions.
  • the early warning module 206 is configured to send an early warning message if the number of commissions in all the functions is greater than or equal to a preset threshold.
  • FIG. 3 is a schematic diagram of a computer device provided in Embodiment 4 of this application.
  • the computer device 30 includes a memory 301, a processor 302, and computer-readable instructions 303 stored in the memory 301 and running on the processor 302, such as a software project reconstruction program.
  • the processor 302 executes the computer-readable instructions 303, the steps in the above embodiment of the software project reconstruction method are implemented, for example, the steps S101-S106 shown in FIG. 1:
  • S105 Traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all functions;
  • the obtaining module 201 is configured to obtain a training sample set, each training sample in the training sample set is a time series of the acceleration of the user's walking, each training sample has a label, and the label marks the emotion category corresponding to the training sample;
  • the extraction module 202 is configured to extract all the folders in the new software project and generate a hierarchical structure diagram of the folders;
  • the first modification module 203 is configured to receive a name modification command for the designated folder in the hierarchical structure diagram, modify the name of the designated folder according to the name modification command, and modify the name according to the hierarchical structure diagram.
  • the parsing module 204 is used to parse the predetermined file into an abstract syntax tree
  • the detection module 205 is configured to traverse the abstract syntax tree to obtain all functions in the predetermined file, and detect the number of delegates in all functions.
  • the early warning module 206 is configured to send an early warning message if the number of commissions in all the functions is greater than or equal to a preset threshold.
  • the computer-readable instruction 303 may be divided into one or more modules, and the one or more modules are stored in the memory 301 and executed by the processor 302 to complete the method .
  • the computer-readable instruction 303 can be divided into the acquisition module 201, the extraction module 202, the first modification module 203, the analysis module 204, the detection module 205, and the early warning module 206 in FIG. 2.
  • the acquisition module 201 the extraction module 202, the first modification module 203, the analysis module 204, the detection module 205, and the early warning module 206 in FIG. 2.
  • the analysis module 204 the analysis module
  • the detection module 205 the detection module
  • the early warning module 206 the early warning module
  • the computer device 30 may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
  • the schematic diagram 3 is only an example of the computer device 30 and does not constitute a limitation on the computer device 30. It may include more or less components than those shown in the figure, or combine certain components, or be different.
  • the computer device 30 may also include input and output devices, network access devices, buses, etc.
  • the so-called processor 302 may be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor can be a microprocessor or the processor 302 can also be any conventional processor, etc.
  • the processor 302 is the control center of the computer device 30 and connects the entire computer device 30 with various interfaces and lines. Various parts.
  • the memory 301 may be used to store the computer-readable instructions 303, and the processor 302 executes or executes the computer-readable instructions or modules stored in the memory 301, and calls data stored in the memory 301 to implement Various functions of the computer device 30.
  • the memory 301 may mainly include a program storage area and a data storage area.
  • the program storage area may store an operating system, an application program required by at least one function (such as a sound playback function, an image playback function, etc.), etc.; Data (such as audio data) created according to the use of the computer device 30 and the like are stored.
  • the memory 301 may include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a Secure Digital (SD) card, a flash memory card (Flash Card), At least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • non-volatile memory such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a Secure Digital (SD) card, a flash memory card (Flash Card), At least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • the integrated module of the computer device 30 may be stored in a non-volatile readable storage medium.
  • this application implements all or part of the processes in the above-mentioned embodiments and methods, and can also be completed by instructing relevant hardware through computer-readable instructions.
  • the computer-readable instructions can be stored in a non-volatile memory. In the read storage medium, when the computer-readable instructions are executed by the processor, the steps of the foregoing method embodiments can be implemented.
  • the computer-readable instructions may be in the form of source code, object code, executable file, or some intermediate forms, etc.
  • the non-volatile readable storage medium may include: any entity or device capable of carrying the computer readable instructions, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, read-only memory (ROM, Read-Only Memory).
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, or in the form of hardware plus software functional modules.
  • the above-mentioned integrated module implemented in the form of a software function module may be stored in a non-volatile readable storage medium.
  • the above-mentioned software function module is stored in a storage medium and includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor (processor) execute the method described in each embodiment of the present application Part of the steps.

Abstract

La présente invention concerne un procédé et un dispositif de reconstruction de projet logiciel, ainsi qu'un dispositif informatique et un support de stockage. Le procédé comprend les étapes consistant à : copier un projet logiciel d'origine sur un chemin cible de façon à obtenir un nouveau projet logiciel (S101) ; extraire tous les dossiers dans le nouveau projet logiciel et générer un graphique de la structure hiérarchique des dossiers (S102) ; recevoir une instruction de modification de nom d'un dossier spécifié dans le graphique de la structure hiérarchique, modifier le nom du dossier spécifié en fonction de l'instruction de modification de nom et modifier un chemin de paquetage d'un fichier prédéterminé sous le dossier spécifié en fonction du graphique de la structure hiérarchique (S103) ; analyser le fichier prédéterminé en une arborescence syntaxique abstraite (S104) ; parcourir l'arborescence syntaxique abstraite de façon à obtenir toutes les fonctions dans le fichier prédéterminé et détecter le nombre de délégués dans toutes les fonctions (S105) ; et, si le nombre de délégués dans toutes les fonctions est supérieur ou égal à un seuil prédéfini, envoyer des informations d'avertissement précoce (S106). Le nouveau projet logiciel est construit en fonction du projet logiciel d'origine. Les défauts logiciels du nouveau projet logiciel peuvent être détectés.
PCT/CN2019/117238 2019-08-08 2019-11-11 Procédé et dispositif de reconstruction de projet logiciel, dispositif informatique et support de stockage WO2021022703A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910728484.4A CN110659063A (zh) 2019-08-08 2019-08-08 软件项目重构方法、装置、计算机装置及存储介质
CN201910728484.4 2019-08-08

Publications (1)

Publication Number Publication Date
WO2021022703A1 true WO2021022703A1 (fr) 2021-02-11

Family

ID=69036442

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/117238 WO2021022703A1 (fr) 2019-08-08 2019-11-11 Procédé et dispositif de reconstruction de projet logiciel, dispositif informatique et support de stockage

Country Status (2)

Country Link
CN (1) CN110659063A (fr)
WO (1) WO2021022703A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050935A (zh) * 2021-03-17 2021-06-29 平安普惠企业管理有限公司 生成混入对象的方法、装置、计算设备及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015431B (zh) * 2020-08-27 2023-12-05 深圳忆联信息系统有限公司 一键修改固件信息的方法、装置、计算机设备及存储介质
CN111984300B (zh) * 2020-09-08 2024-01-23 网易(杭州)网络有限公司 代码复制方法及装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239762A1 (en) * 2006-03-30 2007-10-11 International Business Machines Corporation Automated interactive visual mapping utility and method for transformation and storage of XML data
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN109408057A (zh) * 2018-10-23 2019-03-01 网易传媒科技(北京)有限公司 自动生成代码的方法、装置、介质和计算设备
CN109885299A (zh) * 2019-01-23 2019-06-14 平安科技(深圳)有限公司 模型开发中的模板处理方法、装置、计算机设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559025B (zh) * 2013-10-21 2017-01-25 沈阳建筑大学 一种采用聚类方式进行软件重构的方法
CN103593182A (zh) * 2013-10-27 2014-02-19 沈阳建筑大学 一种采用聚类方式进行软件重构的方法
CN103645986B (zh) * 2013-11-29 2016-08-17 北京广利核系统工程有限公司 一种编译器的可视化语法树的生成方法和重构方法
CN107704278A (zh) * 2016-08-08 2018-02-16 北京京东尚科信息技术有限公司 应用升级方法和装置
CN107678971B (zh) * 2017-10-19 2021-05-04 扬州大学 代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法
CN109901873B (zh) * 2019-02-26 2022-05-10 北京真知科技有限公司 基于语法树的软件功能重构方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239762A1 (en) * 2006-03-30 2007-10-11 International Business Machines Corporation Automated interactive visual mapping utility and method for transformation and storage of XML data
CN108647010A (zh) * 2018-04-27 2018-10-12 武汉斗鱼网络科技有限公司 一种项目工程初始化的方法、终端设备及存储介质
CN109408057A (zh) * 2018-10-23 2019-03-01 网易传媒科技(北京)有限公司 自动生成代码的方法、装置、介质和计算设备
CN109885299A (zh) * 2019-01-23 2019-06-14 平安科技(深圳)有限公司 模型开发中的模板处理方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113050935A (zh) * 2021-03-17 2021-06-29 平安普惠企业管理有限公司 生成混入对象的方法、装置、计算设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110659063A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
US10324909B2 (en) Omega names: name generation and derivation utilizing nested three or more attributes
US10698682B1 (en) Computerized software development environment with a software database containing atomic expressions
KR101755365B1 (ko) 레코드 포맷 정보의 관리
RU2328032C2 (ru) Система и способ проверки правильности документов xml и выдачи сообщения о нарушениях схемы
US11341116B2 (en) Techniques for automated data analysis
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US20200349130A1 (en) Matching metastructure for data modeling
BR112015011537B1 (pt) Método e dispositivo de armazenamento para associação de metadados com código fonte
WO2021022703A1 (fr) Procédé et dispositif de reconstruction de projet logiciel, dispositif informatique et support de stockage
US10445675B2 (en) Confirming enforcement of business rules specified in a data access tier of a multi-tier application
US20150142813A1 (en) Language tag management on international data storage
US20150261507A1 (en) Validating sql queries in a report
US9483508B1 (en) Omega names: name generation and derivation
CN114138748A (zh) 数据库映射文件生成方法、装置、设备及存储介质
JP2012529711A (ja) ソフトウェア拡張子解析方法及びシステム
US11803429B2 (en) Managing alert messages for applications and access permissions
US11977473B2 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
US20080172659A1 (en) Harmonizing a test file and test configuration in a revision control system
WO2021022702A1 (fr) Procédé et appareil d'insertion de journal, appareil informatique et support de stockage
CN117193802A (zh) 提供对应用程序内容多个实例的访问的合并空间
US11550556B1 (en) Efficient semantic analysis of program code
CN109254774A (zh) 软件开发系统中代码的管理方法和装置
WO2021042532A1 (fr) Procédé et appareil d'analyse d'informations de base de données, appareil informatique et support de stockage
US20210200833A1 (en) Health diagnostics and analytics for object repositories
US11256602B2 (en) Source code file retrieval

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19940791

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19940791

Country of ref document: EP

Kind code of ref document: A1