源代码文件组建方法、装置、电子终端及可读存储介质与流程

文档序号:12946623阅读:183来源:国知局
源代码文件组建方法、装置、电子终端及可读存储介质与流程

本发明涉及计算机技术领域,具体而言,涉及一种源代码文件组建方法、装置、电子终端及可读存储介质。



背景技术:

在软件开发过程中通常都会有很多个源文件及资源文件,一般是将源文件和资源文件分别存放在两个独立的目录或文件夹中。但是随着业务代码及资源文件的开发越来越多,导致这两个独立文件夹内的文件数量越来越多,后续如果需要查找某一个功能模块的源文件或者其资源文件时,则要从成众多文件中进行人工检索,这是一个非常复杂且耗时的工作。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种源代码文件组建方法、装置、电子终端及可读存储介质。

本发明实施例提供的一种源代码文件组建方法,所述源代码文件组建方法包括:

根据应用程序的不同功能创建多个功能模块目录,并在每个功能模块目录下创建多个预设类型的子目录;所述子目录包括用于存放对应功能的源文件的目录及用于存放对应功能的资源文件的目录;

将创建的功能模块目录的目录结构写入编译器的编译路径中,使得编译器能够对对应的功能模块进行编译。

本发明实施例还提供一种源代码文件组建装置,所述源代码文件组建装置包括:

创建模块,用于根据应用程序的不同功能创建多个功能模块目录,并在每个功能模块目录下创建多个预设类型的子目录;所述子目录包括用于存放对应功能的源文件的目录及用于存放对应功能的资源文件的目录;

写入模块,用于将创建的功能模块目录的目录结构写入编译器的编译路径中,使得编译器能够对对应的功能模块进行编译。

本发明实施例还提供一种电子终端,包括:

存储器;

处理器;

安装/存储于所述存储器并由所述处理器执行的上述的源代码文件组建装置。

本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述的源代码文件组建方法。

与现有技术相比,本发明实施例中的源代码文件组建方法、装置、电子终端及可读存储介质,通过将不同功能模块的文件分别进行自动归类存储,以使不同功能模块的源文件被存储在不同位置方便用户或者开发人员需要查找某一个功能模块的源文件。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明较佳实施例提供的电子终端的方框示意图。

图2为本发明较佳实施例提供的源代码文件组建方法的流程图。

图3为本发明另一较佳实施例提供的源代码文件组建方法的流程图。

图4为本发明较佳实施例提供的源代码文件组建方法的步骤s103的详细流程图。

图5为本发明较佳实施例提供的源代码文件组建装置的功能模块示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

如图1所示,是一电子终端100的方框示意图。所述电子终端100包括源代码文件组建装置110、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子终端100的结构造成限定。例如,电子终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。本实施例所述的电子终端100可以是个人计算机、或者移动电子设备等计算设备。

所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述源代码文件组建装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器111中或固化在所述电子终端100的操作系统(operatingsystem,os)中的软件功能模块。所述处理器113用于执行存储器中存储的可执行模块,例如所述源代码文件组建装置110包括的软件功能模块或计算机程序。

其中,所述存储器111可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子终端100所执行的方法可以应用于处理器113中,或者由处理器113实现。

所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述外设接口114将各种输入/输入装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

所述输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。

所述显示单元116在所述电子终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。

下面描述现有的一种android应用程序代码的层级关系目录。该层级结构关系目录中包括build及main。所述build对应的文件夹是用来存放编译文件,main对应的文件夹是用来存放整个项目。其中main目录中包括java子目录及res子目录。所述java子目录对应的文件夹是用来存放源文件,res子目录对应的文件夹是用来存放资源文件。也就是说,一个应用程序中无论是什么功能模块只要是源文件都存放main目录下的java对应的文件夹中,只要是资源文件就存放在main目录下的res对应的文件夹中。上述的代码的层级关系目录的划分会随着应用程序中业务功能的叠加导致java和res对应的文件夹中的文件数量暴增,导致后续要找一个源文件或者资源文件时需要花费很多的时间,极大的降低了开发效率。

因此,本发明实施例提供另外的软件代码的层级关系目录生成的方法,下面通过几个实施例进行详细描述。

请参阅图2,是本发明较佳实施例提供的应用于图1所示的电子终端100的源代码文件组建方法的流程图。下面将对图2所示的具体流程进行详细阐述。

步骤s101,根据应用程序的不同功能创建多个功能模块目录,并在每个功能模块目录下创建多个预设类型的子目录。

本实施例中,所述子目录包括用于存放对应功能的源文件的目录及用于存放对应功能的资源文件的目录。

本实施例中,创建的功能模块目录数量可以根据一软件所能实现的功能确定。

本实施例中的方法可以用于android应用程序代码的层级关系目录的生成。其中,所述android应用程序代码的层级关系目录中包括build目录及src目录,源文件与资源文件对应的目录放置在所述src目录下。

在一个实例中,所述应用程序中包括“礼物面板”功能模块,可以在src目录下创建与main目录并列的“gitpanel”目录,所述“gitpanel”目录下创建子目录java和res。本实例中,子目录java对应的文件夹用于存放“礼物面板”功能模块的源文件,子目录res对应的文件夹用于存放“礼物面板”功能模块的资源文件。

本实施例中,所述应用程序还可以包括其它功能模块,所述电子终端可以根据具体功能模块建立对应与main目录并列的目录及用于存放源文件及资源文件的子目录。

在一种实施方式中,所述电子终端可以根据接收到用户输入的功能模块名称建立对应的功能模块目录。具体地,当需要为一个功能模块创建目录时,所述电子终端在显示界面中显示一输入对话框,所述输入对话框用于接收用户输入的该功能模块目录的名称。本实施例中,每创建一个功能模块目录后,在该功能模块目录下创建对应的子目录。

在另一种实施方式中,所述电子终端还可以根据所述源文件中的关键字自动生成所述功能模块目录。

步骤s102,将创建的功能模块目录的目录结构写入编译器的编译路径中,使得编译器能够对对应的功能模块进行编译。

本实施例中,所述步骤s102包括:通过调用预设的写入函数将所述目录结构中各个目录的路径写入编译配置文件中对应的配置信息,所述编译配置文件中对应的配置信息包括源文件和资源文件的配置信息。

本实施例中,所述电子终端通过调用一write函数以在编译配置文件build.gradle文件中写入配置信息。在一个实例中,可在编译配置文件build.gradle文件中写配置信息java.srcdirs和res.srcdirs。这两个配置信息的值分别填写该功能模块目录的子目录对应的文件夹的路径。在一个实例中,子目录包括子目录java及子目录res。具体地,配置信息java.srcdirs写入子目录java对应的java文件夹的路径和配置信息res.srcdirs写入子目录对应的res文件夹的路径。本实施例中,若所述应用程序中包括多个功能模块,多个功能模块对应的多个java.srcdirs和res.srcdirs类的配置信息可以通过逗号进行分割。

根据本发明实施例中的源代码文件组建方法,通过将不同功能模块的文件分别存储,以使不同功能模块的源文件被存储在不同位置方便用户或者开发人员需要查找某一个功能模块的源文件。

本发明实施例还提供另一种源代码文件组建方法,本实施例中的方法与上述源代码文件组建方法实施例类似,其不同之处在于,如图3所示,所述方法包括以下步骤。

步骤s101,根据应用程序的不同功能创建多个功能模块目录,并在每个功能模块目录下创建多个预设类型的子目录。

本实施例中,所述子目录包括用于存放对应功能的源文件的目录及用于存放对应功能的资源文件的目录。

步骤s102,将创建的功能模块目录的目录结构写入编译器的编译路径中,使得编译器能够对对应的功能模块进行编译。

关于上述步骤s101与步骤s102的详细描述可以参考上一实施例中的描述,在此不再赘述。

步骤s103,当一种类型的子目录有目标文件写入时,判断与该子目录的类型相同的子目录中是否已经存在与所述目标文件重名的文件。

当判断已经存在与所述目标文件重名的文件,则执行步骤s104。否则,写入所述目标文件后,流程结束。

由于不同功能模块的资源文件存放在不同的文件夹中,因此即使当一功能的资源文件与其它功能模块的资源文件重名也能够存储。但是,编译器最终编译的时候会把分配的所有的资源文件子目录下的所有资源文件统一到一个目录下后再对所有的资源文件进行编译,若存在两个不同的资源子目录下定义了文件名相同的资源文件时,编译器编译的时候就会报错的问题。因此,本发明实施例还提供文件重名的判断方法。

在一种实施方式中,如图4所示,步骤s103可包括步骤s1031至步骤s1033。

步骤s1031,启动一监听器实时监听该类型的子目录下创建的文件。

步骤s1032,当监听到有目标文件被创建时,判断与该子目录类型相同的子目录中是否已经存在与所述目标文件的文件名重名的文件。

本实施例中,所述目标文件可以是所述应用程序新创建的全部资源文件。

本实施例中,由于java目录下的文件一般有不同的包名或类名,因此java目录下的源文件一般不会重名。本实施例所述监听器可以仅监听所述资源文件对应的目录下创建的文件。当然,在其它实施例中,所述监听器也可以监听所述源文件对应的目录下创建的文件。

步骤s104,重新为所述目标文件命名。

在一种实施方式中,在所述目标文件的文件名中增加该目标文件对应的功能模块的模块名称。

在一个实例中,若“gitpanel”目录,所述“gitpanel”目录下的子目录res中创建一资源文件,该资源文件与已经存在的其它功能模块中的资源文件重名,则可以在该资源文件名前增加字符串“gitpanel”。

在另一种实施方式中,在所述目标文件的文件名中增加指定字符串。所述指定字符串可以是数字、字母等字符。

在一个实例中,若“gitpanel”目录,所述“gitpanel”目录下的子目录res中创建一资源文件,该资源文件与已经存在的其它功能模块中的资源文件重名,则可以在该资源文件名前增加字符1、2、3,也可以在该资源文件名前增加字符a、b、c等。所述指定字符串也可以是数字与字母的组合。

根据本发明实施例中的源代码文件组建方法,通过将在子目录中添加新的资源文件时,先判断该类型的目录下是否有重名的资源文件,以避免不同的资源文件使用了相同的文件名导致编译器最终编译的时候是把分配的所有的资源文件子目录下的所有资源文件统一到一个目录下后再对所有的资源文件进行编译,若存在两个不同的资源子目录下定义了文件名相同的资源文件时,编译器编译的时候就会报错的问题。

请参阅图5,是本发明较佳实施例提供的图1所示的源代码文件组建装置110的功能模块示意图。本实施例中的源代码文件组建装置110中的各个模块及单元用于执行上述方法实施例中的各个步骤。所述源代码文件组建装置110包括创建模块1101及写入模块1102。

所述创建模块1101,用于根据应用程序的不同功能创建多个功能模块目录,并在每个功能模块目录下创建多个预设类型的子目录。

本实施例中,所述子目录包括用于存放对应功能的源文件的目录及用于存放对应功能的资源文件的目录。

所述写入模块1102,用于将创建的功能模块目录的目录结构写入编译器的编译路径中,使得编译器能够对对应的功能模块进行编译。

本实施例中,所述写入模块1102还用于通过调用预设的写入函数将所述目录结构中各个目录的路径写入编译配置文件中对应的配置信息,所述编译配置文件中对应的配置信息包括源文件和资源文件的配置信息。

在一个实例中,上述各个模块由在androidstudio中编写一个插件实现。所述androidstudio是一个android集成开发工具,基于intellijidea类似eclipseadt,androidstudio提供了集成的android开发工具用于开发和调试。

本实施例中,所述源代码文件组建装置110还可包括:判断模块1103及重命名模块1104。

所述判断模块1103,用于当一种类型的子目录有目标文件写入时,判断与该子目录的类型相同的子目录中是否已经存在与所述目标文件重名的文件。

在一种实施方式中,所述判断模块1103包括监听单元及判断单元。

所述监听单元,用于启动一监听器实时监听该类型的子目录下创建的文件。

所述判断单元,用于当监听到有目标文件被创建时,判断与该子目录类型相同的子目录中是否已经存在与所述目标文件的文件名重名的文件。

所述重命名模块1104,用于当已经存在与所述目标文件重名的文件时,则重新为所述目标文件命名。

所述重命名模块1104还用于在所述目标文件的文件名中增加该目标文件对应的功能模块的模块名称。

所述重命名模块1104还可以用于在所述目标文件的文件名中增加指定字符串。所述指定字符串可以是数字、字母等字符。

关于本实施例的其它细节还可以进一步地参考上述方法实施例中的描述,在此不再赘述。

本发明实施例中的源代码文件组建装置,通过将不同功能模块的文件分别存储,以使不同功能模块的源文件被存储在不同位置方便用户或者开发人员需要查找某一个功能模块的源文件。

本发明实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述实施例中的源代码文件组建方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1