Method and Device for Processing Programming Data

20230076548 · 2023-03-09

    Inventors

    Cpc classification

    International classification

    Abstract

    The present disclosure discloses a method and a device for processing programming data. The method includes: acquiring programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    Claims

    1. A method for processing programming data, comprising: acquiring the programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    2. The method according to claim 1, wherein acquiring the programming data of the target object, comprises: monitoring key operations of the target object in a programming process with the automatic code generation tool to acquire the programming data of the target object, wherein the programming data comprise at least one of: codes entered by the target object, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the target object, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    3. The method according to claim 1, wherein identifying the programming behavior of the target object according to the programming data, comprises: determining the programming behavior of the target object is a behavior of entering codes by the target object according to codes that are entered by the target object and are not deleted in the programming data; determining the programming behavior of the target object is a behavior of successfully recommending codes by the automatic code generation tool according to codes that are recommended by the automatic code generation tool, selected by the target object, and are not deleted in the programming data; and determining the programming behavior of the target object is a behavior of successfully recommending codes by the programming platform according to codes that are recommended by the programming platform, selected by the target object, and are not deleted in the programming data.

    4. The method according to claim 1, wherein determining the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the programming behavior, comprises: determining a quantity of codes entered by the target object, a quantity of codes successfully recommended by the automatic code generation tool, and a quantity of codes successfully recommended by the programming platform according to the programming behavior; acquiring a total quantity of codes according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform; and acquiring the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes.

    5. The method according to claim 4, wherein the programming behavior comprises a behavior of entering codes by the target object, a behavior of successfully recommending codes by the automatic code generation tool and a behavior of successfully recommending codes by the programming platform, and determining the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform according to the programming behavior, comprises: determining the quantity of the codes entered by the target object according to the behavior of entering codes by the target object; determining the quantity of the codes successfully recommended by the automatic code generation tool according to the behavior of successfully recommending codes by the automatic code generation tool; and determining the quantity of the codes successfully recommended by the programming platform according to the behavior of successfully recommending codes by the programming platform.

    6. The method according to claim 4, wherein acquiring the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes, comprises: acquiring a programming contribution rate of the target object according to the quantity of the codes entered by the target object and the total quantity of the codes; acquiring a programming contribution rate of the automatic code generation tool according to the quantity of the codes successfully recommended by the automatic code generation tool and the total quantity of the codes; and acquiring a programming contribution rate of the programming platform according to the quantity of the codes successfully recommended by the programming platform and the total quantity of the codes.

    7. An apparatus for processing programming data, comprising: an acquiring module, configured for acquiring the programming data of a target object; an identifying module, configured for identifying a programming behavior of the target object according to the programming data; a determination module, configured for determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    8. The apparatus according to claim 7, wherein the acquiring module comprises: a processing unit, configured for monitoring key operations of the target object in a programming process with the automatic code generation tool to acquire the programming data of the target object, wherein the programming data comprise at least one of: codes entered by the target object, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the target object, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    9. A processor, wherein the processor is configured for running a program, wherein the program executes a method for processing programming data when the program runs, the method for processing the programming data, comprising: acquiring the programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    10. The processor according to claim 9, wherein acquiring the programming data of the target object, comprises: monitoring key operations of the target object in a programming process with the automatic code generation tool to acquire the programming data of the target object, wherein the programming data comprise at least one of: codes entered by the target object, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the target object, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    11. The processor according to claim 9, wherein identifying the programming behavior of the target object according to the programming data, comprises: determining the programming behavior of the target object is a behavior of entering codes by the target object according to codes that are entered by the target object and are not deleted in the programming data; determining the programming behavior of the target object is a behavior of successfully recommending codes by the automatic code generation tool according to codes that are recommended by the automatic code generation tool, selected by the target object, and are not deleted in the programming data; and determining the programming behavior of the target object is a behavior of successfully recommending codes by the programming platform according to codes that are recommended by the programming platform, selected by the target object, and are not deleted in the programming data.

    12. The processor according to claim 9, wherein determining the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the programming behavior, comprises: determining a quantity of codes entered by the target object, a quantity of codes successfully recommended by the automatic code generation tool, and a quantity of codes successfully recommended by the programming platform according to the programming behavior; acquiring a total quantity of codes according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform; and acquiring the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes.

    13. The processor according to claim 12, wherein the programming behavior comprises a behavior of entering codes by the target object, a behavior of successfully recommending codes by the automatic code generation tool and a behavior of successfully recommending codes by the programming platform, and determining the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform according to the programming behavior, comprises: determining the quantity of the codes entered by the target object according to the behavior of entering codes by the target object; determining the quantity of the codes successfully recommended by the automatic code generation tool according to the behavior of successfully recommending codes by the automatic code generation tool; and determining the quantity of the codes successfully recommended by the programming platform according to the behavior of successfully recommending codes by the programming platform.

    14. The processor according to claim 12, wherein acquiring the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes, comprises: acquiring a programming contribution rate of the target object according to the quantity of the codes entered by the target object and the total quantity of the codes; acquiring a programming contribution rate of the automatic code generation tool according to the quantity of the codes successfully recommended by the automatic code generation tool and the total quantity of the codes; and acquiring a programming contribution rate of the programming platform according to the quantity of the codes successfully recommended by the programming platform and the total quantity of the codes.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0017] The drawings described herein are just for promoting a further understanding of the present disclosure and form a part of the present application. The illustrative embodiments of the present disclosure and their descriptions serve to explain the present disclosure and do not intend to limit thereto. In the drawings:

    [0018] FIG. 1 is a flow diagram of a method for processing programming data according to an embodiment of the present disclosure;

    [0019] FIG. 2 is a flow diagram of acquiring programming data according to an optional embodiment of the present disclosure;

    [0020] FIG. 3 is a flow diagram of identifying a programming behavior according to an optional embodiment of the present disclosure;

    [0021] FIG. 4 is a flow diagram of analyzing a programming contribution rate according to an optional embodiment of the present disclosure;

    [0022] FIG. 5 is a schematic diagram of an apparatus for processing programming data according to an embodiment of the present disclosure.

    DETAILED DESCRIPTION OF THE EMBODIMENTS

    [0023] For those skilled in the art to better understand the solution of the present disclosure, the technical solution in the embodiment of the present disclosure will be dearly and completely described below in combination with the accompanying drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of, not all of the embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by an ordinary skilled person in the art without paying any creative efforts should be regarded as falling into the protection scope of the present disclosure.

    [0024] It should be noted that, the terms “first” and “second” in the description, claims and the appended drawings of the present disclosure are used to distinguish similar objects, instead of describing in a specific order or sequential order. It should be understood that, the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described can be implemented in an order except for those illustrated or described herein. In addition, the terms “include” and “have” and any variations thereof are intended to cover in a non-exclusive sense. For example, a process, method, system, product or apparatus containing a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include those not dearly listed or other steps or units inherent in the process, method, product or apparatus.

    Embodiment 1

    [0025] According to an embodiment of the present disclosure, an embodiment of a method for processing programming data is provided. It should be noted that, the steps shown in the flow diagram of the accompanying drawings can be performed in a computer system with a set of computer executable instructions, and although the logical sequence is shown in the flow diagram, in some cases, the steps shown or described can be performed in another different order.

    [0026] FIG. 1 is a flow diagram of the method for processing the programming data according to an embodiment of the present disclosure. As shown in FIG. 1, the method for processing the programming data includes the following steps:

    [0027] Step S102: the programming data of a target object is acquired.

    [0028] The target object above can refer to programming personnel, such as a programmer.

    [0029] Optionally, the programming data of the target object is acquired, includes: key operations of the target object in a programming process with the automatic code generation tool are monitored to acquire the programming data of the target object, and the programming data include at least one of: codes entered by the target object, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the target object, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    [0030] In a specific implementation process, codes that are entered by the target object and are not deleted can be calculated in accordance with the codes entered by the target object and the deleted codes entered by the target object; codes that are selected by the target object, recommended by the automatic code generation tool and are not deleted can be calculated in accordance with the selected codes recommended by the automatic code generation tool and the deleted codes recommended by the automatic code generation tool; and codes that are selected by the target object, recommended by the programming platform and are not deleted can be calculated in accordance with the selected codes recommended by the programming platform and the deleted codes recommended by the programming platform.

    [0031] Step S104, a programming behavior of the target object is identified according to the programming data.

    [0032] Optionally, the programming behavior of the target object is identified according to the programming data, includes: the programming behavior of the target object as a behavior of entering codes by the target object is determined according to codes that are entered by the target object and are not deleted in the programming data; the programming behavior of the target object is determined to be a behavior of successfully recommending codes by the automatic code generation tool according to codes that are recommended by the automatic code generation tool, selected by the target object, and are not deleted in the programming data; and the programming behavior of the target object is determined to be a behavior of successfully recommending codes by the programming platform according to codes that are recommended by the programming platform, selected by the target object, and are not deleted in the programming data.

    [0033] It should be noted that, the programming behavior of the target object refers to an operation behavior of the target object in entering or selecting relevant codes in a programming process.

    [0034] Step S106, programming contribution rates of the target object, an automatic code generation tool and a programming platform are determined according to the programming behavior.

    [0035] Optionally, the programming contribution rates of the target object, the automatic code generation tool and the programming platform are determined according to the programming behavior, includes: a quantity of codes entered by the target object, a quantity of codes successfully recommended by the automatic code generation tool, and a quantity of codes successfully recommended by the programming platform are determined according to the programming behavior; a total quantity of codes is acquired according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform; and the programming contribution rates of the target object, the automatic code generation tool and the programming platform are acquired according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes.

    [0036] Optionally, the programming behavior includes a behavior of entering codes by the target object, a behavior of successfully recommending codes by the automatic code generation tool and a behavior of successfully recommending codes by the programming platform, and the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform are determined according to the programming behavior, includes: the quantity of the codes entered by the target object is determined according to the behavior of entering codes by the target object; the quantity of the codes successfully recommended by the automatic code generation tool is determined according to the behavior of successfully recommending codes by the automatic code generation tool; and the quantity of the codes successfully recommended by the programming platform is determined according to the behavior of successfully recommending codes by the programming platform.

    [0037] By the above embodiment, different programming behaviors are used to calculate quantities of codes corresponding to the different programming behaviors.

    [0038] Optionally, the programming contribution rates of the target object, the automatic code generation tool and the programming platform are acquired according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes, includes: a programming contribution rate of the target object is acquired according to the quantity of the codes entered by the target object and the total quantity of the codes; a programming contribution rate of the automatic code generation tool is acquired according to the quantity of the codes successfully recommended by the automatic code generation tool and the total quantity of the codes; and a programming contribution rate of the programming platform is acquired according to the quantity of the codes successfully recommended by the programming platform and the total quantity of the codes.

    [0039] By means of the above embodiment, programming contribution rates of different roles are respectively calculated in accordance with the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes, e.g., the programming contribution rate of the target object, the programming contribution rate of the automatic code generation tool and the programming contribution rate of the programming platform.

    [0040] By the above steps, the programming data of the target object can be acquired; the programming behavior of the target object is identified according to the programming data; and the programming contribution rates of the target object, the automatic code generation tool and the programming platform are determined according to the programming behavior. Through acquiring the programming data in the programming process and analyzing relevant behaviors, behaviors and functions of different roles in the programming process can be distinguished and contributions of the different roles on programs are determined, thereby achieving a technical effect of rapidly and accurately grasping the contributions of a programmer, an automatic code generation tool and a programming platform on a program, thus resolving the technical problem in the related technologies that behaviors and functions of the programmer, the automatic code generation tool and the programming platform cannot be clearly distinguished in the programming process so as not to reflect their respective contribution on programming efficiency and quality.

    [0041] An optional embodiment of the present disclosure will be further explained in detail below.

    [0042] In an optional embodiment, the method for processing the programming data specifically includes the following implementation steps:

    [0043] Step1, programming data is acquired: behavior data of a programmer is acquired by monitoring key operations of the programmer in a programming process with an automatic code generation tool; the behavior data of the programmer include: codes entered by the programmer, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the programmer, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    [0044] Step2, a programming behavior is identified: for the data acquired in the Step1, identification is carried out on the codes (codes that are entered by the programmer and are not deleted) entered by the programmer, codes (codes that are selected by the programmer, recommended by the automatic code generation tool and are not deleted) successfully recommended by the automatic code generation tool to the programmer as he expects, and codes (codes that are selected by the programmer, recommended by the programming platform and are not deleted) successfully recommended by the programming platform to the programmer as he expects, and other complicated programming behaviors in the programming process; and

    [0045] Step3, programming contribution rates are analyzed: for the complicated programming behaviors identified in the Step2, contribution rates of the programmer, the automatic code generation tool and the programming platform in the programming process are calculated by counting and calculating a quantity of codes entered by the programmer, a quantity of codes successfully recommended by the automatic code generation tool, and a quantity of codes successfully recommended by the programming platform.

    [0046] Further, the above optional embodiment specially includes the following steps:

    [0047] FIG. 2 is a flow diagram of acquiring programming data according to an optional embodiment of the present disclosure. As shown in FIG. 2, the programming data is acquired includes the following implementing steps:

    [0048] Step1.1, a Project is initialized as a project ‘Demoi’ in development environment parameters in Table 1, a Editor is initialized as an editor ‘lntelliJ IDEA’ in the development environment parameters in the Table 1, a keyStrokes is initialized as null, a behaviorResult is initialized as null, a proglnput is initialized as null, a preBehaviorSequence as null, the number of times h of selecting codes recommended by an automatic code generation tool as 0, the number of times i of selecting codes recommended by a programming platform as 0, the number of times J of entering codes by a programmer as 0, a key.sub.1 as null, a value.sub.1 as null, the number I of keywords as 0, and the number of times k of deleting behaviors as 0, and Step1.2 is executed;

    TABLE-US-00001 TABLE 1 Property Value Project Demo1 Editor IntelliJ IDEA

    [0049] Step1.2, an Execute method used for editor event processing is initialized in an IDE environment and Step1.3 is executed;

    [0050] Step1.3, whether key information obtained by the Execute is null is judged, a key “def” is entered in the editor by the programmer, a current key value obtained by the Execute is ‘def’, and the Step1.4 is executed;

    [0051] Step1.4, the current key value ‘def’ is assigned to the keyStrokes, that is, keyStrokes=‘def’, and Step1.5 is executed;

    [0052] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ key and ‘Tab’ key is judged, keyStrokes=‘def’, and Step1.10 is executed;

    [0053] Step1.10, whether the keyStrokes contain a ‘Backspace’ delete key is judged, keyStrokes=‘def’, and Step1.17 is executed;

    [0054] Step1.17, behaviorResult=keyStrokes, behaviorResult=‘def’, Step1.18 is executed;

    [0055] Step118, j++, j=1, I=0, key.sub.0=behaviorResult, key.sub.0=‘def’, value.sub.0=‘typ’+String(1), value.sub.0=‘typ1’, ‘typ’ represents selected codes entered by the programmer, the key.sub.0 and the value.sub.0 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’}, behaviorResult=null, I++, I=1, Step1.3 is executed;

    [0056] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘fac(n):’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘fac(n):’, and Step1.4 is executed;

    [0057] Step1.4, the current key value ‘fac(n):’ is assigned to the keyStrokes, keyStrokes=‘fac(n):’, and Step1.5 is executed;

    [0058] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’, keyStrokes=‘fac(n):’ is judged, and Step1.10 is executed;

    [0059] Step1.10, whether the keyStrokes contain the ‘Backspace’ delete key, keyStrokes=‘fac(n):’ is judged, and Step1.17 is executed;

    [0060] Step1.17, behaviorResult=keyStrokes, behaviorResult=‘fac(n):’, Step1.18 is executed;

    [0061] Step1.18, j++, j=2, I=1, key.sub.1=behaviorResult, key.sub.1=‘fac(n):’, value.sub.1=‘typ’+String(2), value.sub.1=‘typ2’, ‘typ’ represents selected codes entered by the programmer, the key.sub.1 and the value.sub.1 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’, ‘fac(n):’=‘typ2’}, behaviorResult=null, I++, I=2, Step1.3 is executed;

    [0062] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Enter’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Enter’, and

    [0063] Step1.4 is executed;

    [0064] Step1.4, the current key value ‘Enter’ is assigned to the keyStrokes, keyStrokes=‘Enter’, and

    [0065] Step1.5 is executed;

    [0066] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Enter’, and Step1.6 is executed;

    [0067] Step1.6, the selected code content is assigned to the behaviorResult, behaviorResult=‘import’, and Step1.7 is executed;

    [0068] Step1.7, whether a code source which is selected is an automatic code generation tool is judged, and if the code source is the automatic code generation tool, Step1.8 is executed;

    [0069] Step1.8, h++, h=1, I=2, key.sub.2=‘import’, value.sub.2=‘chofCACP’+String(1), value.sub.2=‘chofCACP1’, ‘chofCACP’ represents selected codes recommended by the automatic code generation tool, the key.sub.2 and the value.sub.2 are saved in the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’, ‘fac(n):’=‘typ2’, ‘import’=‘chofCACP1’}, behaviorResult=null, I++, I=3, Step1.3 is executed;

    [0070] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Backspace’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Backspace’, and Step1.4 is executed;

    [0071] Step1.4, the current key value ‘Backspace’ is assigned to the keyStrokes, keyStrokes=‘Backspace’ and Step1.5 is executed;

    [0072] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Backspace’, and Step1.10 is executed;

    [0073] Step1.10, whether the keyStrokes contain the ‘Backspace’ delete key is judged, keyStrokes=‘Backspace’, and Step1.11 is executed;

    [0074] Step1.11, the deleted code content is assigned to the behaviorResult, behaviorResult=‘import’, and Step1.12 is executed;

    [0075] Step1.12, whether a deleted code source is the automatic code generation tool is judged, and if the deleted code source is the automatic code generation tool, Step1.13 is executed;

    [0076] Step1.13, the number of times of deleting codes from the automatic code generation tool is assigned to k, k=1, I=3, key.sub.3=behaviorResult, key.sub.3=‘import’, value.sub.3=‘delfCACP’+String(1), value.sub.3=‘deIfCACP1’, ‘delfCACP’ represents the codes recommended by the automatic code generation tool, a key.sub.3 and a value.sub.3 in the preBehaviorSequence are saved and preBehaviorSequence={def=‘typ1’, ‘fac(n):’=‘typ2’, ‘import’=‘chofCACP1’, ‘import’=‘delfCACP1’}, behaviorResult=null, k=0, I++, I=4, and Step1.3 is executed;

    [0077] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Enter’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Enter’, and Step1.4 is executed;

    [0078] Step1.4, the current key value ‘Enter’ is assigned to the keyStrokes, keyStrokes=‘Enter’, and Step1.5 is executed;

    [0079] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Enter’, and Step1.6 is executed;

    [0080] Step1.6, the selected code content is assigned to the behaviorResult, behaviorResult=‘if’, and Step1.7 is executed;

    [0081] Step1.7, whether the selected code source is the automatic code generation tool is judged, and if the code source is the automatic code generation tool, Step1.8 is executed;

    [0082] Step1.8, h++, h=2, I=4, key.sub.4=behaviorResult, key.sub.4=‘if’, value.sub.4=‘chofCACP’+String(2), value.sub.4=‘chofCACP2’. ‘chofCACP’ represents selected codes recommended by the automatic code generation tool, the key.sub.4 and the value.sub.4 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’, ‘fac(n):’=‘typ2’,‘import’=‘chofCACP1’, ‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’}, behaviorResult=null, I++, I=5, Step1.3 is executed;

    [0083] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘n==1:’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘n==1:’, and Step 1.4 is executed;

    [0084] Step1.4, the current key value ‘n==1:’ is assigned to the keyStrokes, keyStrokes=‘n==1:’, and Step1.5 is executed;

    [0085] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘n==1:’, and Step1.10 is executed;

    [0086] Step1.10, whether the keyStrokes contain the ‘Backspace’ delete key is judged, keyStrokes=‘n==1’, and Step1.17 is executed;

    [0087] Step1.17, behaviorResult=keyStrokes, behaviorResult=‘n==1:’, Step1.18 is executed;

    [0088] Step1.18, j++, j=3, I=5, key.sub.5=behaviorResult, key.sub.5=‘n==1:’, value.sub.5=‘typ’+String(3), value.sub.5=‘typ3’, ‘typ’ represents the codes entered by the programmer, the key.sub.5 and the value.sub.5 are saved in the preBehaviorSequence, preBehaviorSequence={‘def=‘typ1’,‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’,‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’}, behaviorResult=null, I++, I=6, Step1.3 is executed;

    [0089] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Enter’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Enter’, and Step1.4 is executed;

    [0090] Step1.4, the current key value ‘Enter’ is assigned to the keyStrokes, keyStrokes=‘Enter’, and Step1.5 is executed;

    [0091] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Enter’, and Step1.6 is executed;

    [0092] Step1.6, the selected code content is assigned to the behaviorResult, behaviorResult=‘reversed’, Step1.7 is executed;

    [0093] Step1.7, whether the code source which is selected is the automatic code generation tool is judged, and if the code source is a programming platform. Step1.9 is executed;

    [0094] Step1.9, i++, i=1, I=6, key.sub.6=behaviorResult, key.sub.6=‘reversed’, valuee=‘chofIDE’+String(1), value6=‘chofIDE1’, ‘chofIDE’ represents selected codes recommended by the programming platform, the key.sub.6 and the value.sub.6 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’, ‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’, ‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’}, behaviorResult=null, I++, I=7, Step1.3 is executed;

    [0095] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Backspace’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Backspace’, and Step1.4 is executed;

    [0096] Step1.4, the current key value ‘Backspace’ is assigned to the keyStrokes, keyStrokes=‘Backspace’ and Step1.5 is executed;

    [0097] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Backspace’, and Step1.10 is executed;

    [0098] Step1.10, whether the keyStrokes contain the ‘Backspcae’ delete key is judged, keyStrokes=‘Backspace’, and Step1.11 is executed;

    [0099] Step1.11, the deleted code content is assigned to the behaviorResult, behaviorResult=‘reversed’, Step1.12 is executed;

    [0100] Step1.12, whether the deleted code source is the automatic code generation tool is judged, and if the deleted code source is the programming platform. Step1.14 is executed;

    [0101] Step1.14, whether the deleted code source is the programming platform is judged, and if the deleted code source is the programming platform, Step1.15 is executed;

    [0102] Step1.15, the corresponding number of times of deleted codes entered by the programmer is assigned to k, k=1, I=7, key?=behaviorResult, key.sub.7=‘reserved’, value.sub.7=‘detfIDE’+String(1), value.sub.7=‘delfIDE1’, ‘delfIDE’ represents deleted codes recommended by the programming platform, the key? and the value.sub.7 are saved in the preBehaviorSequence, preBehaviorSequence=preBehaviorSequence={‘def’=‘typ1’, ‘fac (n):’=‘type2’, ‘import’=‘chofCACP1’, ‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’, ‘reversed’=‘delfIDE1’}, behaviorResult=null, k=0, I++, I=8, step1.3 is executed;

    [0103] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Enter’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Enter’, and Step1.4 is executed;

    [0104] Step1.4, the current key value ‘Enter’ is assigned to the keyStrokes, keyStrokes=‘Enter’, and Step1.5 is executed;

    [0105] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Enter’, and Step1.6 is executed;

    [0106] Step1.6, the selected code content is assigned to the behaviorResult, behaviorResult=‘return’, Step1.7 is executed;

    [0107] Step1.7, whether the code source which is selected is the automatic code generation tool is judged, and if the code source is the programming platform, Step1.9 is executed;

    [0108] Step1.9, i++, i=2, I=8, key.sub.8=behaviorResult, key.sub.8=‘return’, value.sub.8=‘chofIDE’+String(2), value.sub.8=‘chofIDE2’,‘chofIDE’ represents selected codes recommended by the programming platform, the key.sub.8 and the value.sub.8 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’, ‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’,‘import’=‘defCACP1’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’,‘reversed’=‘delfIDE1’, ‘return’=‘chofIDE2’}, behaviorResult=null, I++, I=9, Step1.3 is executed;

    [0109] Step1.3, whether the key information obtained by the Execute is null is judged, the key ‘2’ is entered in the editor by the programmer, the current key value obtained by the Execute being ‘2’, and Step1.4 is executed;

    [0110] Step1.4, the current key value ‘2’ is assigned to the keyStrokes, keyStrokes=‘2’, and Step1.5 is executed;

    [0111] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘2’, and Step1.10 is executed;

    [0112] Step1.10, whether the keyStrokes contain the ‘Backspcae’ delete key is judged, keyStrokes=‘2’, and Step1.17 is executed;

    [0113] Step1.17, behaviorResult=keyStrokes, behaviorResult=‘2’, Step1.18 is executed;

    [0114] Step1.18, j++, j=4, I=9, key.sub.9=behaviorResult, key.sub.9=‘2’, value.sub.9=‘typ’+String(4), value.sub.9=‘typ4’, ‘typ’ represents the codes entered by the programmer, the key.sub.9 and the value, are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’,‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’, ‘reversed’=‘delfIDE1’, ‘return’=‘chofIDE2’,‘2’=‘typ4’}, behaviorResult=null, I++, 1=10, Step1.3 is executed;

    [0115] Step1.3, whether the key information obtained by the Execute is null is judged, a key ‘Backspace’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘Backspace’, and Step1.4 is executed;

    [0116] Step1.4, the current key value ‘Backspace’ is assigned to the keyStrokes, keyStrokes=‘Backspace’ and Step1.5 is executed;

    [0117] Step1.5, whether keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘Backspace’, and Step1.10 is executed;

    [0118] Step1.10, whether keyStrokes contain the ‘Backspace’ delete key is judged, keyStrokes=‘Backspace’, and Step1.11 is executed;

    [0119] Step1.11, the deleted code content is assigned to the behaviorResult, behaviorResult=‘2’, and Step1.12 is executed;

    [0120] Step1.12, whether the deleted code source is the automatic code generation tool is judged, and if the deleted code source is the programmer, Step1.14 is executed;

    [0121] Step1.14, whether the deleted code source is the programming platform is judged, and if the deleted code source is the programmer, Step1.16 is executed.

    [0122] Step1.16, the corresponding number of times of deleting the codes entered by the programmer is assigned to k, k=4, I=10, key.sub.10=behaviorResult, key.sub.10=‘2’, value.sub.10=‘delfPRO’+String(4), value.sub.10=‘delfPRO4’, ‘delfPRO’ represents deleted codes entered by the programmer, the key.sub.10 and the value.sub.10 are saved in the preBehaviorSequence, preBehaviorSequence=preBehaviorSequence={‘def=‘type1’,‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’,‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’, reversed’=‘delfIDE1’, ‘return’=‘chofIDE2’,‘2’=‘type4’, ‘2’=‘delfPRO4’}, behaviorResult=null, k=0, I++, 1=11, Step1.3 is executed;

    [0123] Step1.3, whether the key information obtained by the Execute is null is judged, the key ‘1’ is entered in the editor by the programmer, a current key value obtained by the Execute is ‘1’, and Step1.4 is executed;

    [0124] Step1.4, the current key value ‘1’ is assigned to keyStrokes, keyStrokes=‘1’, and Step1.5 is executed;

    [0125] Step1.5, whether the keyStrokes contain code selection keys, such as ‘Enter’ and ‘Tab’ is judged, keyStrokes=‘1’, and Step1.10 is executed;

    [0126] Step1.10, whether the keyStrokes contain the ‘Backspcae’ delete key is judged, keyStrokes=‘1’, and Step1.17 is executed;

    [0127] Step1.17, behaviorResult=keyStrokes, behaviorResult=‘1’, Step1.18 is executed;

    [0128] Step1.18, j++, j=5, I=11, key.sub.11=behaviorResult, key.sub.11=‘1’, value.sub.11=‘typ’+String(5), value.sub.11=‘typ5’, ‘typ’ represents the codes entered by the programmer, the key.sub.11 and the value.sub.11 are saved into the preBehaviorSequence, preBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’, ‘import’=‘delfCACP1’, ‘if’=‘chofCACP2’, ‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’, ‘reversed’=‘delfIEDE1’, ‘return’=‘chofIDE2’,‘2’=‘typ4’, ‘2’=‘delfPRO4’,‘1’=‘type5’}, behaviorResult=null, I++,I=12, Step1.3 is executed;

    [0129] Step1.3, whether the key information obtained by the Execute is null is judged, and if the current key value obtained by the Execute is null, executing Step 2. At this time, the preBehaviorSequence is shown in Table 2.

    TABLE-US-00002 TABLE 2 Serial No. Data 0 key.sub.0=‘def’, value.sub.0=‘typ1’ 1 key.sub.1=‘fac(n):’, value.sub.1=‘typ2’ 2 key.sub.2=‘import’, value.sub.2=‘chofCACP1’ 3 key.sub.3=‘import’, value.sub.3=‘delfCACP1’ 4 key.sub.4=‘if’, value.sub.4=‘chofCACP2’ 5 key.sub.5=‘n==1:’; value.sub.5=‘typ3’ 6 key.sub.6=‘reversed’, value.sub.6=‘chofIDE1’ 7 key.sub.7=‘reversed’, value.sub.7=‘delfIDEI’ 8 key.sub.8=‘return’, value.sub.8=‘chofIDE2’ 9 key.sub.9=‘2’, value.sub.9=‘typ4’ 10 key.sub.10=‘2’, value.sub.10=‘ delfPRO4’ 11 key.sub.11=‘1’, value.sub.11=‘typ5’

    [0130] FIG. 3 is a process diagram of identifying a programming behavior according to an optional embodiment of the present disclosure. As shown in FIG. 3, the programming behavior is identified includes the following implementation steps:

    [0131] Step2.1, as the processed behavior sequence finBehaviorSequence is null, a number m of keywords finBehaviorSequence is 0, a position n of the keyword finBehaviorSequence is 0, 1 is 0, a keyword key.sub.m is null, and the value value.sub.m is null, and a behavior judgment method is as shown in

    TABLE-US-00003 TABLE 3 Serial No. Title Behavior 1 ‘cho’ Selecting 2 ‘typ’ entering

    [0132] Step2.2, whether the preBehaviorsSequence is traversed completely is judged, 1=0, key.sub.0=‘def’, value.sub.0=‘typ1’, Step2.3 is executed;

    [0133] Step2.3, whether value.sub.0 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.0=‘type1’, Step2.5 is executed;

    [0134] Step2.5, whether the value.sub.0 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.0=‘typ1’, Step2.4 is executed;

    [0135] Step2.4, m=0, I=0, key.sub.m=key.sub.1, key.sub.0=‘def’, value.sub.m=value.sub.1, value.sub.0=‘typ1’, the key.sub.0 and the value.sub.0 are saved into the finBehaviorSequence, finBehaviorSequence={def=‘typ1’}, m++, I++, m=1, I=1, Step2.2 is executed;

    [0136] Step2.2, whether the preBehaviorSequence is traversed completely is judged, I=1, key.sub.1=‘fac(n):’, value.sub.1=‘type2’, and Step2.3 is executed;

    [0137] Step2.3, whether the value.sub.1 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.1=‘type2’, and Step2.5 is executed;

    [0138] Step2.5, whether the value.sub.1 in the preBehaviorSequence contains “typ” is judged, value.sub.1=‘typ2’, Step2.4 is executed;

    [0139] Step 2.4, m=1, I=1, key.sub.m=key.sub.1, key.sub.1=‘fac(n):’, value.sub.m=value.sub.1, value.sub.1=‘type2’, the key.sub.1 and the value.sub.1 are saved into the finBehaviorSequence, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘type2’}, m++, m=2, I++, I=2, Step2.2 is executed;

    [0140] Step2.2, whether the preBehaviorSequence is traversed completely is judged, key.sub.2=‘import’, value.sub.2=‘chofCACP1’, and Step2.3 is executed;

    [0141] Step2.3, whether the value.sub.2 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.2=‘chofCACP1’, and Step2.4 is executed;

    [0142] Step2.4, m=2, I=2, key.sub.m=key.sub.1, key.sub.2=‘import’, value.sub.m=value.sub.1, value.sub.2=‘chofCACP1’, the key.sub.2 and the value.sub.2 are saved into the finBehaviorSequence, finBehaviorSequence={‘def=‘typ1’, ‘fac(n):’=‘type2’, ‘import’=‘chofCACP1’}, m++, m=3, I++, I=3, Step2.2 is executed;

    [0143] Step2.2, whether the preBehaviorSequence is traversed completely is judged, 1=3, key.sub.3=‘import’, value.sub.3=‘delfCACP1’, and Step2.3 is executed;

    [0144] Step2.3, whether the value.sub.3 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.3=‘delfCACP1’, and Step2.5 is executed;

    [0145] Step2.5, whether the value.sub.3 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.3=‘delfCACP1’, Step2.6 is executed;

    [0146] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=0, key.sub.0=‘def’, value.sub.0=‘typ1’, Step2.7 is executed;

    [0147] Step2.7, whether the source of deleted codes and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0148] Step2.9, n++, n=1, Step2.6 is executed;

    [0149] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=1, key.sub.1=‘fac(n):’, value.sub.1=‘type2’, Step2.7 is executed;

    [0150] Step2.7, whether the source of the deleted codes and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0151] Step2.9, n++, n=2, Step2.6 is executed;

    [0152] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=2, key.sub.2=‘import’, value.sub.2=‘chofCACP1’, Step2.7 is executed;

    [0153] Step2.7, whether the source of the deleted codes and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, code sources are the automatic code generation tool and the numbers of times are 1 respectively, Step2.8 is executed;

    [0154] Step2.8, the key.sub.m and the value.sub.m are deleted, key.sub.2=‘import’ is deleted, value.sub.2=‘chofCACP1’, n=0, finBehaviorSequence={def=‘typ1’, ‘fac(n):’=‘typ2’}, I++,I=4, m−−, m=2, Step2.2 is executed;

    [0155] Step2.2, whether the preBehaviorSequence is traversed completely is judged, 1=4, key.sub.4=‘If’, value.sub.4=‘chofCACP2’, Step2.3 is executed;

    [0156] Step2.3, whether the value.sub.4 in the preBehaviorSequence contains ‘Cho’ is judged, value4=‘chofCACP2’, and Step2.4 is executed;

    [0157] Step 2.4, m=2, I=4, key.sub.m=key.sub.1, key.sub.2=‘If’, value.sub.m=value.sub.1, value.sub.2=‘chofCACP2’, the key.sub.2 and the value.sub.2 are saved into the finBehaviorSequence, finBehaviorSequence={‘def=‘typ1’,‘fac(n):’=‘typ2’,‘if’=‘chofCACP2’}, m++, m=3, I++, I=5, Step2.2 is executed;

    [0158] Step2.2, whether the preBehaviorSequence is traversed completely is judged, I=5, key.sub.5=‘n==1:’, value.sub.5=‘typ3’, and Step2.3 is executed;

    [0159] Step2.3, whether the value.sub.5 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.5=‘typ3’, and Step2.5 is executed;

    [0160] Step2.5, whether the value.sub.5 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.5=‘typ3’, Step2.4 is executed;

    [0161] Step2.4, m=3, I=5, key.sub.m=key.sub.1, key.sub.3=‘n==1:’, value.sub.m=value.sub.1, value.sub.3=‘typ3’, the key.sub.3 and the value.sub.3 are saved into the finBehaviorSequence, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’}, m++, m=4, I++, I=6, Step2.2 is executed;

    [0162] Step2.2, whether the preBehaviorSequence is traversed completely is judged, key.sub.6=‘reversed’, valuee=‘chofIDE1’, and Step2.3 is executed:

    [0163] Step2.3, whether the value.sub.6 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.6=‘chofIDE1’, and Step2.4 is executed;

    [0164] Step2.4, m=4, I=6, key.sub.m=key.sub.1, key.sub.4=‘reversed’, value.sub.m=value.sub.1, value.sub.4=‘chofIDE1’, the key.sub.4 and the value.sub.4 are saved into the finBehaviorSequence, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘type2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘reversed’=‘chofIDE1’}, m++, m=5, I++, I=7, Step2.2 is executed;

    [0165] Step2.2, whether the preBehaviorSequence is traversed completely is judged, 1=7, key.sub.7=‘reversed’, value.sub.7=‘delfIDE1’, and Step2.3 is executed;

    [0166] Step2.3, whether the value.sub.7 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.7=‘deflDE1’, and Step2.5 is executed:

    [0167] Step2.5, whether the value.sub.7 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.7=‘deflDE1’, Step2.6 is executed;

    [0168] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=0, key.sub.0=‘def’, value.sub.0=‘typ1’, Step2.7 is executed;

    [0169] Step2.7, whether the source of deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0170] Step2.9, n++, n=1, Step2.6 is executed;

    [0171] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=1, key.sub.1=‘fac(n):’, value.sub.1=‘type2’, Step2.7 is executed;

    [0172] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0173] Step2.9, n++, n=2, Step2.6 is executed;

    [0174] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=2, key.sub.2=‘If’, value2=‘chofCACP2’, Step2.7 is executed;

    [0175] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0176] Step2.9, n++, n=3, Step2.6 is executed;

    [0177] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=3, key.sub.3=‘n==1:’, value.sub.3=‘typ3’, Step2.7 is executed;

    [0178] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0179] Step2.9, n++, n=4, Step2.6 is executed;

    [0180] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=4, key.sub.4=‘reversed’, value4=‘chofIDE1’, Step2.7 is executed;

    [0181] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, the source of the code is the programming platform and the number of times is 1 respectively, and Step2.8 is executed;

    [0182] Step2.8, the key.sub.m and the value.sub.m is deleted, the key.sub.4=‘reversed’ is deleted, value.sub.4=‘chofIDE1’, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’}, n=0, I++, I=8, m−−, m=4, Step2.2 is executed;

    [0183] Step2.2, whether the preBehaviorSequence is traversed completely is judged, I=8, key.sub.8=‘return’, value.sub.8=‘chofIDE2’, Step2.3 is executed;

    [0184] Step2.3, whether the value.sub.8 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.8=‘chofIDE2’, and Step2.4 is executed;

    [0185] Step2.4, m=4, I=8, key.sub.m=key.sub.1, key.sub.4=‘return’, value.sub.m=value.sub.1, value.sub.4=‘chofIDE2’, the key.sub.4 and the value.sub.4 are saved into the finBehaviorSequence, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘return’=‘chofIDE2’}, m++, m=5, I++, I=9, Step2.2 is executed;

    [0186] Step2.2, whether the preBehaviorSequence is traversed completely is judged, 1=9, key.sub.9=‘2’, value.sub.9=‘typ4’, and Step2.3 is executed;

    [0187] Step2.3, whether the value.sub.1 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.9=‘type4’, and Step2.5 is executed;

    [0188] Step2.5, whether the value.sub.1 in the preBehaviorSequence contains “typ” is judged, value.sub.9=‘typ4’, Step2.4 is executed;

    [0189] Step2.4, m=5, I=9, key.sub.m=key.sub.1, key.sub.5=‘2’, value.sub.m=value1, value.sub.3=‘typ4’, the key.sub.5 and the value.sub.5 are saved into the finBehaviorSequence, finBehaviorSequence={‘def’=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘return’=‘chofIDE2’,‘2’=‘typ4’}, m++, m=6, I++, I=10, Step2.2 is executed;

    [0190] Step2.2, whether the preBehaviorSequence is traversed completely is judged, I=10, key.sub.10=‘2’, value.sub.10=‘delfPRO4’, and Step2.3 is executed;

    [0191] Step2.3, whether the value.sub.1 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.10=‘delfPRO4’, and Step2.5 is executed;

    [0192] Step2.5, whether the value.sub.1 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.10=‘delfPRO4’, Step2.6 is executed;

    [0193] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=0, key.sub.0=‘def’, value.sub.0=‘typ1’, Step2.7 is executed;

    [0194] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value, in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0195] Step2.9, n++, n=1, Step2.6 is executed;

    [0196] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=1, key.sub.1=‘fac(n):’, value.sub.1=‘type2’, Step2.7 is executed;

    [0197] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value, in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0198] Step2.9, n++, n=2, Step2.6 is executed;

    [0199] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=2, key.sub.2=‘If’, value.sub.2=‘chofCACP2’, Step2.7 is executed;

    [0200] Step2.7, whether the source of the deleted codes in the value.sub.1 and the number of times of deleting codes in the value.sub.1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0201] Step2.9, n++, n=3, Step2.6 is executed;

    [0202] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=3, key.sub.3=‘n==1:’, value.sub.3=‘typ3’, Step2.7 is executed;

    [0203] Step2.7, whether the source of the deleted codes in the value1 and the number of times of deleting codes in the value1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0204] Step2.9, n++, n=4, Step2.6 is executed;

    [0205] Step2.6, whether the finBehaviorSequence is traversed completely is judged, n=4, key.sub.4=‘return’, value.sub.4=‘chofIDE2’, Step2.7 is executed;

    [0206] Step2.7, whether the source of the deleted codes in the value1 and the number of times of deleting codes in the value1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, and if not, Step2.9 is executed;

    [0207] Step2.9, n++, n=5, Step2.6 is executed;

    [0208] Step2.6, whether the finBehaviorSequence is traversed completely is judged, key.sub.5=‘2’, value.sub.5=‘typ4’, Step 2.7 is executed;

    [0209] Step2.7, whether the source of the deleted codes in the value1 and the number of times of deleting codes in the value1 in the preBehaviorSequence are consistent with those in the value.sub.m in the finBehaviorSequence are checked, the source of the codes is the programmer and the number of times is 4 respectively, and Step2.8 is executed;

    [0210] Step2.8, the key.sub.m and the value.sub.m are deleted, the key.sub.5=‘2’ is deleted, value.sub.5=‘typ4’, finBehaviorSequence={{‘def=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘return’=‘chofIDE2’}, n=0, I++, I=11, m−−, m=5, Step2.2 is executed;

    [0211] Step2.2, whether the preBehaviorSequence is traversed completely is judged, I=11, key.sub.11=‘1’, value.sub.11=‘typ5’, and Step2.3 is executed;

    [0212] Step2.3, whether the value.sub.11 in the preBehaviorSequence contains ‘Cho’ is judged, value.sub.11=‘type5’, and Step2.5 is executed;

    [0213] Step2.5, whether the value.sub.11 in the preBehaviorSequence contains ‘typ’ is judged, value.sub.11=‘typ5’, Step2.4 is executed;

    [0214] Step 2.4, m=5, I=11, key.sub.m=key1, key.sub.5=‘2’, value.sub.m=value.sub.1, value.sub.5=‘typ4’, the key.sub.5 and the value.sub.5 are saved into the finBehaviorSequence, finBehaviorSequence={def=‘typ1’,‘fac(n):’=‘typ2’, ‘if’=‘chofCACP2’,‘n==1:’=‘typ3’, ‘return’=‘chofIDE2’,‘1’=typ5’}, m++, m=6, I++, I=12, Step2.2 is executed.

    [0215] Step2.2, whether the preBehaviorSequence is traversed completely is judged, and Step3 is executed. At this time, the processed behavior sequence finBehaviorSequence is shown in Table 4.

    TABLE-US-00004 TABLE 4 Serial No. Data 0 key.sub.0=‘def’, value.sub.0=‘typ1’ 1 key.sub.1=‘fac(n):’, value.sub.1=‘typ2’ 2 key.sub.4=‘if’, value.sub.4=‘chofCACP2’ 3 key.sub.5=‘n==1:’, value.sub.5=‘typ3’ 4 key.sub.8=‘return’, value.sub.8=‘chofIDE2’ 5 key.sub.11=‘1’, value.sub.11=‘typ5’

    [0216] FIG. 4 is a process diagram of analyzing programming contribution rates according to an optional embodiment of the present disclosure. As shown in FIG. 4, analyzing programming contribution rates includes the following implementation steps:

    [0217] Step3.1, as the quantity of the codes entered by the programmer pCodeNum is 0, the quantity of the codes recommended successfully by the automatic code generation tool cCodeNum is 0, the quantity of the codes recommended successfully by the programming platform icodeNum is 0, the total quantity of the program codes totalCodeNum is 0, the programmer contribution rate pContributionRate is 0, and the contribution rate of the automatic code generation tool cContributionRate is 0, the contribution rate of the programming platform iContributionRate is 0, and the quantity of the codes num which is calculated is 0, and m is 0, Step3.2 is executed, and calculation rules of the quantity of Java/Python language codes are shown in Table 5;

    TABLE-US-00005 TABLE 5 Code element Quantity Code Example Separator 0 Java: ;, { }, ( ), . Python: :, ,, ( ), . Arithmetic operator 1 +, −, *, /, %, ++, −− Assignment operator 1 =, +=, −=, *=, /=, %= Comparison operator 1 ==, !=, >, <, >=, <= Logical operator 1 &, &&, |, ||, !, {circumflex over ( )} Shift operator 1 <<, >>, >>> Annotation 0 Java: /*S*/, //S Python: #S, “‘S’”, “““S””” Function name 1 add( ) Formal parameter, Actual 1 formal parameter ‘s’ in add(S), and actual parameter parameter ‘1’ in add(1)

    [0218] Step3.2, whether the finBehaviorSequence is traversed completely is judged, m=0, key.sub.0=‘def’, value.sub.0=‘typ1’, Step3.4 is executed;

    [0219] Step3.4, whether value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.0=‘type1’, and Step3.8 is executed;

    [0220] Step3.8, the code quantity of key.sub.m value in the finBehaviorSequence is calculated, key.sub.0=‘def’, the code quantity is assigned to num, num=1, the code quantity pCodeNum+=num is entered by the programmer, pCodeNum=1, num=0, m++, and Step3.2 is executed;

    [0221] Step 3.2, whether the finBehaviorSequence is traversed completely is judged, m=1, key.sub.1=‘fac(n):’, value.sub.1=‘type2’, Step3.4 is executed;

    [0222] Step3.4, whether the value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.1=‘type2’, and Step3.8 is executed;

    [0223] Step3.8, the code quantity of key.sub.m value in the finBehaviorSequence is calculated, key.sub.1=‘fac(n):’, the code quantity is assigned to the num, num=2, the code quantity pCodeNum+=num is entered by the programmer, pCodeNum=3, num=0, m++, and Step3.2 is executed;

    [0224] Step3.2, whether the finBehaviorSequence is traversed completely is judged, m=2, key.sub.2=‘If’, value.sub.2=‘chofCACP2’, Step3.4 is executed;

    [0225] Step3.4, whether the value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.2=‘chofCACP2’, and Step3.5 is executed;

    [0226] Step 3.5, whether the code source is the automatic code generation tool is judged, and if the code source is the automatic code generation tool, Step3.6 is executed;

    [0227] Step3.6, the quantity of codes in the key.sub.m value in the finBehaviorSequence is calculated, the quantity of the codes is assigned to the num, num=1, the quantity of the codes recommended by the automatic code generation tool cCodeNum+=num, cCodeNum=1, num=0, m++, and Step3.2 is executed;

    [0228] Step3.2, whether the finBehaviorSequence is traversed completely is judged, m=3, key.sub.3=‘n==1:’, value.sub.3=‘typ3’, Step3.4 is executed;

    [0229] Step3.4, whether the value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.3=‘typ3’, and Step3.8 is executed;

    [0230] Step3.8, the quantity of the codes in the key.sub.m value in the finBehaviorSequence is calculated, key.sub.3=‘n==1:’, the quantity of the codes is assigned to the num, num=3, the quantity of the codes entered by the programmer pCodeNum+=num, pCodeNum=6, num=0, m++, and Step3.2 is executed;

    [0231] Step3.2, whether the finBehaviorSequence is traversed completely is judged, m=4, key.sub.4=‘return’, value.sub.4=‘chofIDE2’, Step3.4 is executed;

    [0232] Step3.4, whether the value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.4=‘chofIDE2’, and Step3.5 is executed:

    [0233] Step3.5, whether the code source is the automatic code generation tool is judged, and if the code source is the programming platform, Step3.7 is executed;

    [0234] Step3.7, the quantity of the codes in the key.sub.m value in the finBehaviorSequence is calculated, the quantity of the codes is assigned to the num, num=1, the quantity of the codes successfully recommended by the programming platform iCodeNum+=num, iCodeNum=1, num=0, m++, and Step3.2 is executed;

    [0235] Step3.2, whether the finBehaviorSequence is traversed completely is judged, m=5, key.sub.5=‘1’, value.sub.5=‘typ5’, Step3.4 is executed;

    [0236] Step3.4, whether the value in the finBehaviorSequence contains ‘Cho’ is judged, value.sub.3=‘type5’, and Step3.8 is executed;

    [0237] Step3.8, the quantity of the codes in the key.sub.m value in the finBehaviorSequence is calculated, key.sub.5=‘1’, the quantity of the codes is assigned to the num, num=1, the quantity of the codes entered by the programmer pCodeNum+=num, pCodeNum=7, num=0, m++, and Step3.2 is executed;

    [0238] Step3.2, whether the finBehaviorSequence is traversed completely is judged, and Step3.3 is executed;

    [0239] Step3.3, totalCodeNum=pCodeNum+cCodeNum+iCodeNum,

    [0240] totalCodeNum=9,


    pContrbutionRate=(pCodeNum/totalCodeNum)*100%=(7/9)*100%=77.78%,


    cContributionRate=(cCodeNumltotalCodeNum)*100%=(1/9)*100%=11.11%,


    iContributionRate=(iCodeNum/totalCodeNum)*100%=(1/9)*100%=11.11%, end.

    [0241] Further, by the above embodiments, the present disclosure has the following beneficial effects that a behavior is defined based on operations of the programmer in the programming process, contributing to distinguishing behaviors and functions of the different roles in the programming process; capturing the programming process data and analyzing related behaviors help calculate contributions of the programmer, the automatic code generation tool and the programming platform on the program.

    Embodiment 2

    [0242] According to another aspect of the embodiment of the present disclosure, there further provides an apparatus for processing programming data. FIG. 5 is a schematic diagram of the apparatus for processing the programming data according to an embodiment of the present disclosure. As shown in FIG. 5, the apparatus for processing the programming data, includes an acquiring module 52, an identifying module 54 and a determination module 56. The apparatus for processing the programming data will be explained in detail below.

    [0243] The acquiring module 52 is configured for acquiring the programming data of a target object; the identifying module 54 is connected to the acquiring module 52 and configured for identifying a programming behavior of the target object according to the programming data; the determination module 56 is connected to the identifying module 54 and configured for determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    [0244] It should be noted that, all of the modules above can be implemented by software or hardware, for example, if it is the latter, they can be located in a same processor; and/or all of the modules can be located in different processors at any arbitrary combination.

    [0245] In the above embodiment, through capturing the programming data in a programming process and analyzing related behaviors in the programming process, the apparatus for processing the programming data has the beneficial effect that behaviors and functions of different roles in the programming process are distinguished and contributions of the different roles on programs are determined, thereby realizing the technical effect of rapidly and accurately grasping the contributions of the programmer, the automatic code generation tool and the programming platform on the programs, and thereby further resolving the technical problem in the related technologies that the behaviors and the functions of the programmer, the automatic code generation tool and the programming platform cannot be clearly distinguished in the programming process so as not to reflect their respective contribution on programming efficiency and quality.

    [0246] It should be noted that, the acquiring module 52, the identifying module 54 and the determination module 56 mentioned above correspond to steps S102 to S106 in Embodiment 1. The above modules and corresponding steps are achieved in same examples and application scenes, but not limited to the disclosure of Embodiment 1.

    [0247] Optionally, the acquiring module 52 further includes: a processing unit, configured for monitoring key operations of the target object in a programming process with the automatic code generation tool to acquire the programming data of the target object, and the programming data include at least one of: codes entered by the target object, selected codes recommended by the automatic code generation tool, selected codes recommended by the programming platform, deleted codes entered by the target object, deleted codes recommended by the automatic code generation tool, and deleted codes recommended by the programming platform.

    [0248] Optionally, the identifying module 54 includes: a first determination unit configured for determining the programming behavior of the target object is a behavior of entering codes by the target object according to codes that are entered by the target object and are not deleted in the programming data; a second determination unit configured for determining the programming behavior of the target object is a behavior of successfully recommending codes by the automatic code generation tool according to codes that are recommended by the automatic code generation tool, selected by the target object, and are not deleted in the programming data; and a third determination unit configured for determining the programming behavior of the target object is a behavior of successfully recommending codes by the programming platform according to codes that are recommended by the programming platform, selected by the target object, and are not deleted in the programming data.

    [0249] Optionally, the determination module 56 includes: a fourth determination unit configured for determining a quantity of codes entered by the target object, a quantity of codes successfully recommended by the automatic code generation tool, and a quantity of codes successfully recommended by the programming platform according to the programming behavior; a first acquiring unit configured for acquiring a total quantity of codes according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, and the quantity of the codes successfully recommended by the programming platform; and a second acquiring unit configured for acquiring the programming contribution rates of the target object, the automatic code generation tool and the programming platform according to the quantity of the codes entered by the target object, the quantity of the codes successfully recommended by the automatic code generation tool, the quantity of the codes successfully recommended by the programming platform, and the total quantity of the codes.

    [0250] Optionally, the programming behavior includes a behavior of entering codes by the target object, a behavior of successfully recommending codes by the automatic code generation tool and a behavior of successfully recommending codes by the programming platform; and the fourth determination unit includes: a first determination subunit, configured for determining the quantity of the codes entered by the target object according to the behavior of entering codes by the target object; a second determination subunit, configured for determining the quantity of the codes successfully recommended by the automatic code generation tool according to the behavior of successfully recommending codes by the automatic code generation tool; and a third determination subunit, configured for determining the quantity of the codes successfully recommended by the programming platform according to the behavior of successfully recommending codes by the programming platform.

    [0251] Optionally, the second acquiring unit includes: a first acquiring subunit, configured for acquiring a programming contribution rate of the target object according to the quantity of the codes entered by the target object and the total quantity of the codes; a second acquiring subunit, configured for acquiring a programming contribution rate of the automatic code generation tool according to the quantity of the codes successfully recommended by the automatic code generation tool and the total quantity of the codes; and a third acquiring subunit, configured for acquiring a programming contribution rate of the programming platform according to the quantity of the codes successfully recommended by the programming platform and the total quantity of the codes.

    Embodiment 3

    [0252] According to another aspect of the embodiment of the present disclosure, there further provides a computer readable storage medium, and the computer readable storage medium includes a program stored thereon, and the program controls a device where the computer readable storage medium is located to execute the method for processing the programming data when the program runs.

    [0253] Optionally, in this embodiment, the computer readable storage medium can be in any computer terminal of a computer terminal group of a computer network, and in any mobile terminal of a mobile terminal group, or the computer readable storage medium can be in any computer terminal of the computer terminal group of the computer network or the computer readable storage medium can be in any mobile terminal of the mobile terminal group, and the computer readable storage medium includes the program stored thereon.

    [0254] Optionally, the program controls a device on which the computer readable storage medium resides to implement the following functions when being run: acquiring the programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and programming platform according to the programming behavior.

    Embodiment 4

    [0255] According to another aspect of the present disclosure, there further provides a processor, configured for running a program, and the program executes the method for processing the programming data when being run.

    [0256] The embodiment of the present disclosure provides a device, which includes a processor, a memory and a program stored on the memory and executed on the processor, and the processor executing the program includes the following steps: acquiring the programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    [0257] The present disclosure also provides a computer program product. Any program with the following initiation method steps, when executed on a data processing device, are proper acquiring the programming data of a target object; identifying a programming behavior of the target object according to the programming data; and determining programming contribution rates of the target object, an automatic code generation tool and a programming platform according to the programming behavior.

    [0258] The serial numbers of the above embodiments of the present disclosure merely serve the purpose of description, rather than indicating superiorities of the embodiments.

    [0259] In the above embodiments of the present disclosure, the description of each embodiment has its own emphasis. For the parts not clarified in some embodiment, please refer to the relevant description of other embodiments.

    [0260] In several embodiments provided in the present application, it should be understood that, the disclosed technical content may be realized in other ways. And, the device embodiments described above are only schematic, for example, division of the unit may be a logical function division, but instead refers to other division modes in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may refer to indirect coupling or communication connection through some interfaces, units or modules, and may be electrical or in other forms.

    [0261] The unit described as a separate component may or may not be physically separated, and the component displayed as a unit may or may not be a physical unit, i.e., it may be located in one place or distributed on a plurality of units. A part or all of the units can be selected to achieve the purpose of the solution of the embodiment according to actual needs.

    [0262] In addition, each functional unit in each embodiment of the present disclosure can be integrated in one processing unit, each unit can exist separately, or two or more units may be integrated in one unit. The above integrated unit may be realized in the form of hardware or software functional units.

    [0263] If the integrated unit is realized in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. According to this understanding, the technical solution of the present disclosure in essence, or the part that contributes to the prior art, or all or a part of the technical solution can be embodied in the form of a software product, which may be stored in a storage medium and includes several instructions for making a computer device (e.g., a personal computer, a server, a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present disclosure. The aforementioned storage medium includes: a USB flash disk, a read only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or optical disk and other media that can store program codes.

    [0264] The above is only the preferred embodiment of the present disclosure. It should be pointed out that, for an ordinary skilled person in the art, several improvements and refinements can be made without departing from the principles of the present disclosure, and these improvements and refinements should also be regarded as falling into the protection scope of the present disclosure.