CN109408101A - 一种用于编程的代码开发维护方法及电子设备 - Google Patents

一种用于编程的代码开发维护方法及电子设备 Download PDF

Info

Publication number
CN109408101A
CN109408101A CN201811062547.9A CN201811062547A CN109408101A CN 109408101 A CN109408101 A CN 109408101A CN 201811062547 A CN201811062547 A CN 201811062547A CN 109408101 A CN109408101 A CN 109408101A
Authority
CN
China
Prior art keywords
code
component
programming
maintaining method
split
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
CN201811062547.9A
Other languages
English (en)
Inventor
李天驰
孙悦
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dianmao Technology Co Ltd
Original Assignee
Shenzhen Dianmao Technology Co Ltd
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 Shenzhen Dianmao Technology Co Ltd filed Critical Shenzhen Dianmao Technology Co Ltd
Priority to CN201811062547.9A priority Critical patent/CN109408101A/zh
Publication of CN109408101A publication Critical patent/CN109408101A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开一种用于编程的代码开发维护方法及电子设备,其中,方法包括步骤:A、创建项目,安装第三方库;B、引入ESlint定义代码规范;C、在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;D、将组件拆分为多个模块,然后进行重新组合形成新的组件;E、使用karma测试新的组件;F、在测试通过后,将代码导出。本发明通过统一代码规范,使得代码查看更加方便,通过对代码进行单元测试,减少bug数量,同时将组件拆分为多个模块,使用不同的模块可以组成不同的组件,提高组件复用性。

Description

一种用于编程的代码开发维护方法及电子设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于编程的代码开发维护方法及电子设备。
背景技术
在代码开发过程中,往往项目需要由多人开发,由于每个人又有自己的特点,导致不同的开发人员所开发的代码规范不一致,导致维护困难,查看他人代码占用大量时间。并且这种多人开发的代码发布后,项目出现的Bug数量较多。同时组件耦合性太高,复用性不强。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种用于编程的代码开发维护方法及电子设备,旨在解决现有技术中代码开发维护困难、bug多等问题。
本发明的技术方案如下:
一种用于编程的代码开发维护方法,其中,包括步骤:
A、创建项目,安装第三方库;
B、引入ESlint定义代码规范;
C、在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
D、将组件拆分为多个模块,然后进行重新组合形成新的组件;
E、使用karma测试新的组件;
F、在测试通过后,将代码导出。
所述的用于编程的代码开发维护方法,其中,所述步骤F具体包括:
F1、解析代码中的所有注释;
F2、去除单行注释;
F3、将代码导出为api文档。
所述的用于编程的代码开发维护方法,其中,所述步骤D具体包括:
D1、获取组件的类型;
D2、当组件为功能组件时,则将组件拆分为多个模块,然后进行重新组合形成新的组件。
所述的用于编程的代码开发维护方法,其中,所述步骤D2中,将拆分得到的多个模块随机组合,形成新的组件。
所述的用于编程的代码开发维护方法,其中,所述步骤E中,在测试过程中,显示代码覆盖率和代码有效率。
所述的用于编程的代码开发维护方法,其中,所述步骤C中,当不符合代码规范时,显示错误的代码并停止编译。
所述的用于编程的代码开发维护方法,其中,所述步骤F1之前还包括:
将新的组件进行拆分得到代码。
一种电子设备,其中,包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
创建项目,安装第三方库;
引入ESlint定义代码规范;
在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
将组件拆分为多个模块,然后进行重新组合形成新的组件;
使用karma测试新的组件;
在测试通过后,将代码导出。
一种非易失性计算机可读存储介质,其中,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的用于编程的代码开发维护方法。
一种计算机程序产品,其中,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的用于编程的代码开发维护方法。
有益效果:本发明通过统一代码规范,使得代码查看更加方便,通过对代码进行单元测试,减少bug数量,同时将组件拆分为多个模块,使用不同的模块可以组成不同的组件,提高组件复用性。
附图说明
图1为本发明一种用于编程的代码开发维护方法较佳实施例的流程图。
图2为本发明一种电子设备较佳实施例的结构框图。
具体实施方式
本发明提供一种用于编程的代码开发维护方法及电子设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种用于编程的代码开发维护方法较佳实施例的流程图,如图所示,其包括步骤:
S1、创建项目,安装第三方库;
S2、引入ESlint定义代码规范;
S3、在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
S4、将组件拆分为多个模块,然后进行重新组合形成新的组件;
S5、使用karma测试新的组件;
S6、在测试通过后,将代码导出。
本发明通过统一代码规范,使得代码查看更加方便,通过对代码进行单元测试,减少bug数量,同时将组件拆分为多个模块,使用不同的模块可以组成不同的组件,提高组件复用性。
具体地,在所述步骤S1中,先创建项目,安装第三方库。
同时,在此步骤中,定义第三方库的版本,检测当前需要安装的第三方库的版本是稳定版本还是最新版本,如果需要最新版本则需要对版本进行更新,等待所有第三方库更新完成。如果需要稳定版本则无需更新。
在所述步骤S2中,引入ESlint定义代码规范,此步骤主要是确立代码规范。
ESLint是一个语法规则和代码风格的检查工具,可以用来保证写出语法正确、风格统一的代码。
例如统一缩进:2空格缩进,统一命名:变量分隔符、函数驼峰式,统一使用分号:结尾。
引入ESlint定义代码规范的方式如下:首先,安装ESLint,具体需要通过npm来安装。然后,安装Airbnb语法规则,以及import、a11y、react插件。最后,在项目的根目录下新建一个.eslintrc文件,配置ESLint。
在所述步骤S3中,在代码编译过程中,检测代码是否符合代码规范。
即在代码编译阶段,会检测代码是否符合之前定义的代码规范。
如果代码符合代码规范,则将代码作为组件并进入到后续的步骤S4,如果代码不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件。
即当代码不符合代码规范时,抛出错误,停止编译,然后进行修改,最终使代码符合代码规范。也就是说,当不符合代码规范时,显示错误的代码并停止编译,以便方便用户进行修改。
在所述步骤S4中,将组件拆分为多个模块,然后进行重新组合形成新的组件;这种做的目的是使代码具有更高的复用性,降低耦合性,使用不同的模块可组成不同的组件。
具体地,进一步,所述步骤S4具体包括:
S41、获取组件的类型;
S42、当组件为功能组件时,则将组件拆分为多个模块,然后进行重新组合形成新的组件。
先在步骤S41中,获取组件的类型,只有根据组件的类型才可判断组件是否可拆分。因为对于某些组件,其是不可拆分的,例如如果组件为业务组件,则不可拆分。
在步骤S42中,如果组件为功能组件,则将组件拆分为多个模块(即拆分为多个小模块),再进行自由组合,形成新的组件。
举例来说,将组件拆分为A模块、B模块和C模块,那么A模块+B模块可组合为组件1,A模块+C模块可组合为组件2,B模块+C模块可组合为组件3。例如A模块是指根据条件过滤,B模块是指取组合值,C模块指将所有值相加,那么组件1就是指根据条件过来后取组合值,组件2就是根据条件过滤后的值相加后的结果,依此类推。当然原有的组件可以为一个或多个,重新组合后的组件也可以为一个或多个。组合的方式多种多样,可以是任意的排列组合。
即本发明优选的是,将拆分得到的多个模块随机组合,形成新的组件。这样可大大提高代码的复用性,提高代码使用效率。
在所述步骤S5中,使用karma测试新的组件。
具体地,可使用karma编写测试代码,然后启动测试工具进行测试。
Karma是基于node.js的Javascript测试工具,Karma的主要目标是为开发人员提供高效的测试环境。这种环境不需要设置大量的配置,而是开发人员只需编写代码并从测试中立即获得结果。该测试工具可用于测试所有主流Web浏览器,也可集成到CI工具,也可和其他代码编辑器(例如webstrom)一起使用。该测试工具它可以监控(Watch)文件的变化,然后自行执行,通过console.log显示测试结果。
其安装使用如下:
首先需要安装node.js;
在项目中安装karma:$npm install karma--save-dev;
安装插件:$npm install karma-jasmine karma-chrome-launcher jasmine-core--save-dev
karma配置如下:
初始化测试$karma init(按照提示下一步下一步结束后会生产配置文件:karma.conf.js)
karma自动化测试:
编写符合语法的测试js脚本
test.js:
启动测试$karma start
查看浏览器控制台输出信息。
进一步,所述步骤S5中,在测试过程中,显示代码覆盖率和代码有效率。代码覆盖率可评价前述测试的效率,即是否真正全部或者大部分覆盖了产品的代码,代码覆盖率具体可包括语句覆盖、决策覆盖、条件覆盖多重条件覆盖、条件/决策覆盖、改进的条件/决策覆盖、路径覆盖等等。代码有效率即指指代码运行的效率。
在所述步骤S6中,在测试通过后,将代码导出。
进一步,所述步骤S6具体包括:
S61、解析代码中的所有注释;
S62、去除单行注释;
S63、将代码导出为api文档。
在所述步骤S61之前,还需要将新的组件进行拆分得到代码,以便导出代码。
上述步骤中,先对代码中的所有注释进行解析,再去除单行注释,最后将代码导出为api文档。
本发明还提供一种电子设备10,如图2所示,其包括:
处理器1110,适于实现各指令,以及
存储设备120,适于存储多条指令,所述指令适于由处理器110加载并执行:
创建项目,安装第三方库;
引入ESlint定义代码规范;
在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
将组件拆分为多个模块,然后进行重新组合形成新的组件;
使用karma测试新的组件;
在测试通过后,将代码导出。
所述处理器110可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISC Machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器还可以是任何传统处理器、微处理器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、任何其它这种配置。
存储设备120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的用于编程的代码开发维护方法对应的程序指令。处理器通过运行存储在存储设备中的非易失性软件程序、指令以及单元,从而执行用于编程的代码开发维护方法的各种功能应用以及数据处理,即实现上述方法实施例。
关于上述电子设备10的具体技术细节在前面的方法中已有详述,故不再赘述。
本发明还提供一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行所述的用于编程的代码开发维护方法。
本发明还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行所述的用于编程的代码开发维护方法。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1.一种用于编程的代码开发维护方法,其特征在于,包括步骤:
A、创建项目,安装第三方库;
B、引入ESlint定义代码规范;
C、在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
D、将组件拆分为多个模块,然后进行重新组合形成新的组件;
E、使用karma测试新的组件;
F、在测试通过后,将代码导出。
2.根据权利要求1所述的用于编程的代码开发维护方法,其特征在于,所述步骤F具体包括:
F1、解析代码中的所有注释;
F2、去除单行注释;
F3、将代码导出为api文档。
3.根据权利要求1所述的用于编程的代码开发维护方法,其特征在于,所述步骤D具体包括:
D1、获取组件的类型;
D2、当组件为功能组件时,则将组件拆分为多个模块,然后进行重新组合形成新的组件。
4.根据权利要求3所述的用于编程的代码开发维护方法,其特征在于,所述步骤D2中,将拆分得到的多个模块随机组合,形成新的组件。
5.根据权利要求1所述的用于编程的代码开发维护方法,其特征在于,所述步骤E中,在测试过程中,显示代码覆盖率和代码有效率。
6.根据权利要求1所述的用于编程的代码开发维护方法,其特征在于,所述步骤C中,当不符合代码规范时,显示错误的代码并停止编译。
7.根据权利要求2所述的用于编程的代码开发维护方法,其特征在于,所述步骤F1之前还包括:
将新的组件进行拆分得到代码。
8.一种电子设备,其特征在于,包括:
处理器,适于实现各指令,以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行:
创建项目,安装第三方库;
引入ESlint定义代码规范;
在代码编译过程中,检测代码是否符合代码规范,当不符合代码规范时,提示进行修改,使代码符合代码规范,修改后得到组件;
将组件拆分为多个模块,然后进行重新组合形成新的组件;
使用karma测试新的组件;
在测试通过后,将代码导出。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求1-7任一项所述的用于编程的代码开发维护方法。
10.一种计算机程序产品,其特征在于,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使所述处理器执行权利要求1-7任一项所述的用于编程的代码开发维护方法。
CN201811062547.9A 2018-09-12 2018-09-12 一种用于编程的代码开发维护方法及电子设备 Withdrawn CN109408101A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811062547.9A CN109408101A (zh) 2018-09-12 2018-09-12 一种用于编程的代码开发维护方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811062547.9A CN109408101A (zh) 2018-09-12 2018-09-12 一种用于编程的代码开发维护方法及电子设备

Publications (1)

Publication Number Publication Date
CN109408101A true CN109408101A (zh) 2019-03-01

Family

ID=65464036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811062547.9A Withdrawn CN109408101A (zh) 2018-09-12 2018-09-12 一种用于编程的代码开发维护方法及电子设备

Country Status (1)

Country Link
CN (1) CN109408101A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908677A (zh) * 2019-11-29 2020-03-24 安徽智恒信科技股份有限公司 一种Flutter应用安装包体积优化的方法及存储介质
CN111309506A (zh) * 2020-02-12 2020-06-19 中国平安人寿保险股份有限公司 一种编译错误的定位方法、设备、服务器及可读存储介质
CN111538484A (zh) * 2020-03-26 2020-08-14 北京迈格威科技有限公司 多项目的模块化管理方法、生物解锁模型获取方法和产品
CN113535183A (zh) * 2021-07-28 2021-10-22 北京达佳互联信息技术有限公司 代码处理方法、装置、电子设备及存储介质
CN113835751A (zh) * 2021-09-30 2021-12-24 北京达佳互联信息技术有限公司 代码测试方法、装置、电子设备、存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908677A (zh) * 2019-11-29 2020-03-24 安徽智恒信科技股份有限公司 一种Flutter应用安装包体积优化的方法及存储介质
CN110908677B (zh) * 2019-11-29 2023-03-28 安徽智恒信科技股份有限公司 一种Flutter应用安装包体积优化的方法及存储介质
CN111309506A (zh) * 2020-02-12 2020-06-19 中国平安人寿保险股份有限公司 一种编译错误的定位方法、设备、服务器及可读存储介质
CN111538484A (zh) * 2020-03-26 2020-08-14 北京迈格威科技有限公司 多项目的模块化管理方法、生物解锁模型获取方法和产品
CN113535183A (zh) * 2021-07-28 2021-10-22 北京达佳互联信息技术有限公司 代码处理方法、装置、电子设备及存储介质
CN113535183B (zh) * 2021-07-28 2024-05-28 北京达佳互联信息技术有限公司 代码处理方法、装置、电子设备及存储介质
CN113835751A (zh) * 2021-09-30 2021-12-24 北京达佳互联信息技术有限公司 代码测试方法、装置、电子设备、存储介质
CN113835751B (zh) * 2021-09-30 2024-01-09 北京达佳互联信息技术有限公司 代码测试方法、装置、电子设备、存储介质

Similar Documents

Publication Publication Date Title
US10621068B2 (en) Software code debugger for quick detection of error root causes
CN109408101A (zh) 一种用于编程的代码开发维护方法及电子设备
US11494181B2 (en) Automating generation of library suggestion engine models
Park et al. KJS: A complete formal semantics of JavaScript
US20240126543A1 (en) Library Model Addition
US8156473B2 (en) Model oriented debugging
US9134966B2 (en) Management of mixed programming languages for a simulation environment
WO2019051420A1 (en) AUTOMATION OF IDENTIFICATION OF CODE FRAGMENTS FOR LIBRARY SUGGESTION MODELS
WO2019051422A1 (en) AUTOMATION OF TEST CAS IDENTIFICATION FOR LIBRARY SUGGESTIONS MODELS
US9501269B2 (en) Automatic source code generation for accelerated function calls
CN108920496B (zh) 一种渲染方法及装置
US9311077B2 (en) Identification of code changes using language syntax and changeset data
Sotiropoulos et al. Practical fault detection in puppet programs
US8910137B2 (en) Code profiling of executable library for pipeline parallelization
Klemens 21st century C: C tips from the new school
CN106293687B (zh) 一种打包流程的控制方法,及装置
CN103186463A (zh) 确定软件的测试范围的方法和系统
US8516457B2 (en) Method, system and program storage device that provide for automatic programming language grammar partitioning
US10380313B1 (en) Implementation and evaluation of designs for heterogeneous computing platforms with hardware acceleration
Vélez et al. Challenges in migrating imperative Deep Learning programs to graph execution: An empirical study
Baumann et al. Better avionics software reliability by code verification
Kaestner et al. Model-driven code generation and analysis
Iwanicki et al. Bringing modern unit testing techniques to sensornets
US20230221975A1 (en) Methods, systems, and computer readable media for customizing data plane pipeline processing using berkeley packet filter (bpf) hook entry points
Ramgir Java: High-Performance Apps with Java 9: Boost your application’s performance with the new features of Java 9

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190301