CN104699485A - 海量程序管理方法及构建方法 - Google Patents
海量程序管理方法及构建方法 Download PDFInfo
- Publication number
- CN104699485A CN104699485A CN201510122696.XA CN201510122696A CN104699485A CN 104699485 A CN104699485 A CN 104699485A CN 201510122696 A CN201510122696 A CN 201510122696A CN 104699485 A CN104699485 A CN 104699485A
- Authority
- CN
- China
- Prior art keywords
- function
- program
- code
- storehouse
- power
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种海量程序管理方法及构建方法。其中海量程序管理方法,包括:将所述程序的代码按照功能划分为多个代码段;将每个代码段打包为函数,并根据对应的代码段功能对打包的函数赋名;将所述函数存储在所述程序能够调用的库中;以及基于所述代码的运行顺序,将所述程序重编为库函数调用程序。通过将程序代码进行分割实现函数化,程序的修改、调试可以基于函数进行,便于程序管理和维护,尤其适用于具有海量程序代码的大型程序。
Description
技术领域
本发明涉及数据管理领域,具体地,涉及一种海量程序管理方法及构建方法。
背景技术
软件系统的功能越来越完善,软件程序随功能的完善而越来越大。大型的系统程序一般具有数十万甚至上百万行代码。大量甚至海量的程序代码量大、指令间调用关系复杂给程序管理和维护带来了很大的困难。
针对上述问题,现有技术中尚无良好解决方案。
发明内容
本发明的目的是提供一种方法,通过该方法能够便于海量程序管理和维护。
为了实现上述目的,本发明提供一种海量程序管理方法,包括:将所述程序的代码按照功能划分为多个代码段;将每个代码段打包为函数,并根据对应的代码段功能对打包的函数赋名;将所述函数存储在所述程序能够调用的库中;以及基于所述代码的运行顺序,将所述程序重编为库函数调用程序。
进一步地,所述库中的函数相互调用。
进一步地,所述库中的一个函数调用所述库中的另一个函数或一组函数。
进一步地,调用所述另一个函数或一组函数的函数为外层函数,该另一个函数或一组函数为内层函数,以及所述内层函数的返回值为所述外层函数的输入值。
进一步地,方法还可以包括:当从所述库中调用一个函数时,在重编的所述程序中对该函数内所需参数直接赋值。
根据本发明的另一个方面,提供了一种海量程序构建方法,包括:将所述程序的过程按运行顺序拆分为多个功能函数,每个功能函数用于实现所述程序的过程中的一个功能;针对每个功能函数赋函数名并编制函数代码;将编制的函数代码和对应的函数名存入库中;以及编制所述程序,其中组成所述程序的代码中包括调用所述库中的功能函数的代码。
进一步地,所述库中的功能函数相互调用。
进一步地,所述库中的一个功能函数调用所述库中的另一个功能函数或一组功能函数。
进一步地,调用所述另一个功能函数或一组功能函数的函数为外层函数,该另一个功能函数或一组功能函数为内层函数,以及所述内层函数的返回值为所述外层函数的输入值。
进一步地,所述组成所述程序的代码中包括对所调用的功能函数内所需参数的赋值。
通过上述技术方案,将程序代码中的代码段按功能打包为函数,存储在程序能够调用的库中,以及将程序重编为库函数调用程序。通过将程序代码进行分割实现函数化,程序的修改、调试可以基于函数进行,便于程序管理和维护,尤其适用于具有海量程序代码的大型程序。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是根据本发明实施方式的海量程序管理方法流程图;以及
图2是根据本发明实施方式的海量程序构建方法流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是根据本发明实施方式的海量程序管理方法流程图。如图1所示,本发明提供一种海量程序管理方法,包括:S101,将所述程序的代码按照功能划分为多个代码段;S102,将每个代码段打包为函数,并根据对应的代码段功能对打包的函数赋名;S103,将所述函数存储在所述程序能够调用的库中;以及S104,基于代码的运行顺序,将所述程序重编为库函数调用程序。其中将代码段打包为函数的过程能实现对整段程序或部分程序进行封装,具体包括在程序中设定变量,将程序的输入输出分别体现在函数的参数中,作为调用该段程序的输入及返回值;然后在对程序进行封装前对程序进行分类,并根据对应的代码段功能对打包的函数赋名。
通过上述技术方案,能够将包含大量代码的程序进行简化,使之成为包含部分代码和部分函数的库函数调用程序,使程序结构得以简化以便于进行程序管理。上述技术方案,通过将程序代码进行分割实现函数化,程序的修改、调试可以基于函数进行,便于程序管理和维护,尤其适用于具有海量程序代码的大型程序。
在实施方式中,可以利用调用充分发挥函数使用的灵活性。库中的函数可以相互调用。例如,库中的一个函数可以调用库中的另一个函数或一组函数。
在实施方式中,可以根据调用关系对函数的类别进行划分,例如,在存在二级调用(即程序直接调用函数为第一级,该函数进一步调用的函数为第二级)的情况下,调用另一个函数或一组函数的函数可以为外层函数,该另一个函数或一组函数为内层函数;可以将内层函数的输出结果当做外层函数的初始参数值,即,内层函数的返回值可以为外层函数的输入值。
在实施方式中,对于程序中调用的一级函数,程序可以在函数调用的同时对函数所需参数直接赋值。这样的实施方式中,上述方法中还可以包括:当从库中调用一个函数时,在重编的程序中对该函数内所需参数直接赋值。
上述技术方案,通过将程序代码进行分割实现函数化,程序的修改、调试可以基于函数进行,便于程序管理和维护,尤其适用于具有海量程序代码的大型程序。
图2是根据本发明实施方式的海量程序构建方法流程图。如图2所示,本发明的另一个方面,还提供了一种海量程序构建方法,包括:S201,将程序的过程按运行顺序拆分为多个功能函数,每个功能函数用于实现程序的过程中的一个功能;S202,针对每个功能函数赋函数名并编制函数代码;S203,将编制的函数代码和对应的函数名存入库中;以及S204,编制所述程序,使组成程序的代码中包括调用库中的功能函数的代码。
通过上述技术方案,根据程序的过程或者算法过程确定程序所需的功能,然后利用定义的功能函数来实现对应的功能,再创建能够按照程序过程调用功能函数,实现程序创建。
在实施方式中,库中的功能函数可以相互调用,以此来提高功能函数使用上的灵活性。例如,库中的一个功能函数可以调用库中的另一个功能函数或一组功能函数。例如,可以在调用其他功能函数的功能函数中加入调用其他功能函数所需的调用指令和初始参数。
在实施方式中,调用另一个功能函数或一组功能函数的函数可以称为外层函数,该另一个功能函数或一组功能函数可以称为内层函数。需要说明的是,这里描述的内层和外层是存在调用关系的两个或多个函数之间的相对关系,内层或外层的叫法与参照物有关。例如,被调用的功能函数可以是内层函数,而当其继续调用其他功能函数时,其又成为被其调用的功能函数的外层函数。在实施方式中,内层函数的返回值可以作为外层函数的输入值,当然也可以通过程序代码直接对外层函数的输入值进行定义或赋值。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,可以将计算机节点改变为计算节点或计算单元。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (10)
1.一种海量程序管理方法,其特征在于,该方法包括:
将所述程序的代码按照功能划分为多个代码段;
将每个代码段打包为函数,并根据对应的代码段功能对打包的函数赋名;
将所述函数存储在所述程序能够调用的库中;以及
基于所述代码的运行顺序,将所述程序重编为库函数调用程序。
2.根据权利要求1所述的方法,其特征在于,所述库中的函数相互调用。
3.根据权利要求1或2所述的方法,其特征在于,所述库中的一个函数调用所述库中的另一个函数或一组函数。
4.根据权利要求3所述的方法,其特征在于,调用所述另一个函数或一组函数的函数为外层函数,该另一个函数或一组函数为内层函数,以及所述内层函数的返回值为所述外层函数的输入值。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:当从所述库中调用一个函数时,在重编的所述程序中对该函数内所需参数直接赋值。
6.一种海量程序构建方法,其特征在于,该方法包括:
将所述程序的过程按运行顺序拆分为多个功能函数,每个功能函数用于实现所述程序的过程中的一个功能;
针对每个功能函数赋函数名并编制函数代码;
将编制的函数代码和对应的函数名存入库中;以及
编制所述程序,其中组成所述程序的代码中包括调用所述库中的功能函数的代码。
7.根据权利要求6所述的方法,其特征在于,所述库中的功能函数相互调用。
8.根据权利要求6或7所述的方法,其特征在于,所述库中的一个功能函数调用所述库中的另一个功能函数或一组功能函数。
9.根据权利要求8所述的方法,其特征在于,调用所述另一个功能函数或一组功能函数的函数为外层函数,该另一个功能函数或一组功能函数为内层函数,以及所述内层函数的返回值为所述外层函数的输入值。
10.根据权利要求6所述的方法,其特征在于,所述组成所述程序的代码中包括对所调用的功能函数内所需参数的赋值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122696.XA CN104699485A (zh) | 2015-03-19 | 2015-03-19 | 海量程序管理方法及构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122696.XA CN104699485A (zh) | 2015-03-19 | 2015-03-19 | 海量程序管理方法及构建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104699485A true CN104699485A (zh) | 2015-06-10 |
Family
ID=53346654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510122696.XA Pending CN104699485A (zh) | 2015-03-19 | 2015-03-19 | 海量程序管理方法及构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699485A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549390A (zh) * | 2015-12-18 | 2016-05-04 | 长沙中联消防机械有限公司 | 一种程序组合控制方法、装置及消防车 |
CN106959848A (zh) * | 2017-02-21 | 2017-07-18 | 成都景中教育软件有限公司 | 一种基于动态几何的开放接口实现方法 |
CN107239316A (zh) * | 2017-04-20 | 2017-10-10 | 武汉斗鱼网络科技有限公司 | 一种函数的优化处理方法和装置 |
CN107908404A (zh) * | 2017-11-17 | 2018-04-13 | 深圳市泉眼网络科技有限公司 | 程序打包方法、系统及终端设备 |
CN108614694A (zh) * | 2016-12-30 | 2018-10-02 | 武汉斗鱼网络科技有限公司 | 一种优化代码的方法和装置 |
CN109947460A (zh) * | 2017-12-21 | 2019-06-28 | 鼎捷软件股份有限公司 | 程序连结方法及程序连结系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021804A (zh) * | 2007-03-13 | 2007-08-22 | 华为技术有限公司 | 调用动态库的方法、装置及动态库服务器 |
US20070288941A1 (en) * | 2006-06-07 | 2007-12-13 | Andrew Dunshea | Sharing kernel services among kernels |
CN101390053A (zh) * | 2006-02-27 | 2009-03-18 | 微软公司 | 自适应编译的代码 |
-
2015
- 2015-03-19 CN CN201510122696.XA patent/CN104699485A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390053A (zh) * | 2006-02-27 | 2009-03-18 | 微软公司 | 自适应编译的代码 |
US20070288941A1 (en) * | 2006-06-07 | 2007-12-13 | Andrew Dunshea | Sharing kernel services among kernels |
CN101021804A (zh) * | 2007-03-13 | 2007-08-22 | 华为技术有限公司 | 调用动态库的方法、装置及动态库服务器 |
Non-Patent Citations (1)
Title |
---|
常晋义: "《Web系统与技术实验指导书》", 31 December 2010 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105549390A (zh) * | 2015-12-18 | 2016-05-04 | 长沙中联消防机械有限公司 | 一种程序组合控制方法、装置及消防车 |
CN108614694A (zh) * | 2016-12-30 | 2018-10-02 | 武汉斗鱼网络科技有限公司 | 一种优化代码的方法和装置 |
CN106959848A (zh) * | 2017-02-21 | 2017-07-18 | 成都景中教育软件有限公司 | 一种基于动态几何的开放接口实现方法 |
CN107239316A (zh) * | 2017-04-20 | 2017-10-10 | 武汉斗鱼网络科技有限公司 | 一种函数的优化处理方法和装置 |
CN107908404A (zh) * | 2017-11-17 | 2018-04-13 | 深圳市泉眼网络科技有限公司 | 程序打包方法、系统及终端设备 |
CN109947460A (zh) * | 2017-12-21 | 2019-06-28 | 鼎捷软件股份有限公司 | 程序连结方法及程序连结系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699485A (zh) | 海量程序管理方法及构建方法 | |
WO2021227557A1 (zh) | 一种Hash算法的结果存储的方法和设备 | |
CN105721532A (zh) | 一种节点管理方法及装置 | |
CN110389940B (zh) | 一种数据均衡方法、装置和计算机可读存储介质 | |
WO2015002949A3 (en) | Welding system data management system and method | |
CN105700877A (zh) | 一种应用部署方法和装置 | |
JP2017531852A (ja) | リソースリーク検出の方法、装置及びシステム | |
CN104932986A (zh) | 一种数据重分布方法及装置 | |
CN104657432A (zh) | 一种降低长地址转换为短地址重复率的方法 | |
CN109039730A (zh) | 服务器集群及服务器集群配置信息管理方法 | |
CN105187945A (zh) | 一种实现apk控制android机顶盒屏幕方向的方法 | |
CN103970611A (zh) | 基于计算机集群的任务处理方法 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
CN104778125A (zh) | 一种内存管理方法及系统 | |
CN103197920B (zh) | 一种并发控制方法、控制节点及系统 | |
CN102214360A (zh) | 一种位图构建方法及装置、求交的方法及装置 | |
CN116303343A (zh) | 数据分片方法、装置、电子设备及存储介质 | |
CN104966577A (zh) | 新型电力电缆 | |
CN104834515A (zh) | 目标文件的生成方法 | |
CN103914304A (zh) | 一种基于sap平台的不同结构类型参数转换方法 | |
CN105488056B (zh) | 一种对象处理方法与设备 | |
CN109407922B (zh) | 一种图标显示的控制方法、装置、设备及介质 | |
CN105930521A (zh) | 一种数据库管理装置和方法 | |
CN114647818A (zh) | 矩阵运算结果的确定方法及装置、存储介质、电子装置 | |
CN104461540A (zh) | 一种代码生成器的开发方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150610 |