CN112241254B - 一种车联网多端系统的代码统计方法及装置 - Google Patents

一种车联网多端系统的代码统计方法及装置 Download PDF

Info

Publication number
CN112241254B
CN112241254B CN201910641452.0A CN201910641452A CN112241254B CN 112241254 B CN112241254 B CN 112241254B CN 201910641452 A CN201910641452 A CN 201910641452A CN 112241254 B CN112241254 B CN 112241254B
Authority
CN
China
Prior art keywords
code
internet
list
terminal system
vehicles
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.)
Active
Application number
CN201910641452.0A
Other languages
English (en)
Other versions
CN112241254A (zh
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.)
Beijing CHJ Automobile Technology Co Ltd
Original Assignee
Beijing CHJ Automobile 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 Beijing CHJ Automobile Technology Co Ltd filed Critical Beijing CHJ Automobile Technology Co Ltd
Priority to CN201910641452.0A priority Critical patent/CN112241254B/zh
Publication of CN112241254A publication Critical patent/CN112241254A/zh
Application granted granted Critical
Publication of CN112241254B publication Critical patent/CN112241254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开的实施例公开了一种车联网多端系统的代码统计方法及装置,涉及软件开发技术领域,主要目的在于提高代码行的统计效率。本公开的实施例的主要技术方案包括:获取车联网多端系统对应的代码库的清单,所述清单中包括车联网多端系统中的子系统和模块的对应关系;所述对应关系中一个模块可对应多个子系统;查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行。

Description

一种车联网多端系统的代码统计方法及装置
技术领域
本公开的实施例涉及软件开发技术领域,特别是涉及一种车联网多端系统的代码统计方法及装置。
背景技术
车联网多端系统,是指可以在多端操作实现对车辆所有工作情况和静、动态信息的采集、存储和处理的系统。在车联网多端系统的软件开发过程中涉及到多端子系统的开发,为了使车联网多端系统所涉及的各子系统可以协同操作,那么车联网多端系统中的子系统均具有相应的模块(模块为应用或程序)来辅助协同操作。在软件开发过程中为了保证代码质量,需要统计各模块的代码,以便对代码进行评估。
目前,在对代码进行统计时,需要与各子系统相应的开发人员沟通,获取各子系统中各模块对应的代码,从而完成代码的统计。但是这种代码统计方式需要人员沟通,沟通成本巨大,且会耗费大量的沟通时间,因此代码统计的效率较低。
发明内容
有鉴于此,本公开的实施例提出了一种车联网多端系统的代码统计方法及装置,主要目的在于提高代码行的统计效率。本公开的实施例主要提供如下技术方案:
第一方面,本公开的实施例提供了一种车联网多端系统的代码统计方法,所述方法包括:
获取车联网多端系统对应的代码库的清单,所述清单中包括车联网多端系统中的子系统和模块的对应关系,所述对应关系中一个模块可对应多个子系统;
基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行。
第二方面,本公开的实施例提供了一种车联网多端系统的代码统计装置,所述装置包括:
获取单元,用于获取车联网多端系统对应的代码库的清单;所述清单中包括车联网多端系统中的子系统和模块的对应关系;所述对应关系中一个模块可对应多个子系统;
确定单元,用于基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行。
第三方面,本公开的实施例提供了一种车联网多端系统,所述系统包括:P个子系统、M个模块以及第二方面所述的车联网多端系统的代码统计装置;其中,一个模块可对应多个子系统;P≥2;M>1;
所述车联网多端系统的代码统计装置,用于统计对应多个子系统的模块对应的全部代码行。
第四方面,本公开的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的车联网多端系统的代码统计方法。
第五方面,本公开的实施例提供了一种人机交互装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的车联网多端系统的代码统计方法。
借由上述技术方案,本公开的实施例提供的车联网多端系统的代码统计方法及装置,根据车联网多端系统对应的代码库的清单中包括的子系统和模块的对应关系,便可以查询车联网多端系统的所有子系统中的模块,从而获取到任一待统计代码的模块在所有子系统中的全部代码行。可见,本公开的实施例提供的方案能够统计车联网多端系统内横向跨越多个子系统的模块的所有代码行,且在代码统计时并不用分别与各子系统的研发人员沟通对接,减少了沟通成本,从而提高了代码行的统计效率。
上述说明仅是本公开的实施例技术方案的概述,为了能够更清楚了解本公开的实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本公开的实施例提供的一种车联网多端系统的代码统计方法的流程图;
图2示出了本公开的实施例提供的另一种车联网多端系统的代码统计方法的流程图;
图3示出了本公开的实施例提供的一种可视化界面示意图;
图4示出了本公开的实施例提供的一种车联网多端系统的代码统计装置的组成框图;
图5示出了本公开的实施例提供的另一种车联网多端系统的代码统计装置的组成框图;
图6示出了本公开的实施例提供的一种车联网多端系统的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一方面,本公开的实施例提供了一种车联网多端系统的代码统计方法,如图1所示,所述方法主要包括:
101、获取车联网多端系统对应的代码库的清单,所述清单中包括车联网多端系统中的子系统和模块的对应关系,所述对应关系中一个模块可对应多个子系统。
在实际应用中,车联网多端系统中的子系统可以包括但不限于云端系统、APP端系统以及互联网端系统中的至少一种。示例性的,APP端系统可以包括但不限于Android端系统和IOS端系统。互联网端系统可以包括但不限于Linux端系统。云端系统可以包括但不限于JOLI OS端系统、Amoeba端系统、Mygoya端系统、Glide端系统和Cloudo端系统。
具体的,在车联网多端系统的软件开发中,为了使车联网多端系统所涉及的各子系统可以协同操作,那么车联网多端系统中的部分模块需要横跨多个子系统,因此,这些横跨多个子系统的模块所涉及的代码会分散到多个子系统中。在车联网多端系统的开发过程中不仅需要对一个系统内模块的代码进行度量,也需要对横向跨越多个子系统的模块的所有代码行进行度量。需要说明的是,横跨多个子系统的模块,这些模块与其横跨的多个子系统之间的关系,以对应关系记录在清单中。这里所述的模块为应用或程序,且模块可以包括但不限于OTA(Over The Air,远程升级)模块、CAN(Controller Area Network,控制器局域网络)模块、I2S(Inter—IC Sound,集成电路内置音频总线)模块、I2C(Inter-IntegratedCircuit,两线式串行总线)模块、SPI(Serial Peripheral Interface,串行外设接口)模块和SSP(SSP(Synchronous Serial Port,同步串行接口控制器)模块中的至少一种。
具体的,车联网多端系统对应的代码库的具体形式可以根据具体业务要求确定。可选的,车联网多端系统对应的代码库为Git库。车联网多端系统对应的代码库中包括有车联网多端系统开发过程中所产生的所有的代码。基于子系统和模块之间的对应关系得到代码库对应的清单,该清单中包括车联网多端系统中的子系统和模块的对应关系。在对应关系中一个模块对应于至少一个子系统。
具体的,由于代码库的清单中包括有车联网多端系统中的子系统和模块的对应关系,因此不仅基于清单便可以统计横跨多个子系统的模块所涉及的所有代码行,而且还可以基于清单便可以统计一个模块在一个子系统下所涉及的所有代码行。
102、基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行。
具体的,在针对任一模块有代码统计需求时,根据清单中的对应关系,遍历所有子系统中的待统计代码的模块,获取待统计代码的模块在各个系统中的代码行,汇总获取到的代码行,从而获取到待统计代码的模块在各子系统中对应的全部代码行。
本发明实施例提供的车联网多端系统的代码统计方法,根据车联网多端系统对应的代码库的清单中包括的子系统和模块的对应关系,便可以查询车联网多端系统的所有子系统中的模块,从而获取到任一待统计代码的模块在所有子系统中的全部代码行。可见,本公开的实施例提供的方案能够统计车联网多端系统内横向跨越多个子系统的模块的所有代码行,且在代码统计时并不用分别与各子系统的研发人员沟通对接,减少了沟通成本,从而提高了代码行的统计效率。
第二方面,依据第一方面所述的方法,本公开的另一个实施例还提供了一种车联网多端系统的代码统计方法,如图2所示,所述方法主要包括:
201、获取车联网多端系统对应的代码库的清单,所述清单中包括车联网多端系统中的子系统和模块的对应关系,所述对应关系中一个模块可对应多个子系统。当获取任一待统计代码的模块在所有子系统中的全部代码行时,执行202;当获取任一待统计代码的模块在一个子系统中的全部代码行时,执行203。
在实际应用中,各模块对应的不同的版本的代码以分支的形式存在于代码库中,因此为了明确分支与模块之间的关系,清单的对应关系中还可以包括分支与模块的对应关系,其中,每一个分支对应一个模块。
在实际应用中,获取车联网多端系统对应的代码库的清单的过程至少包括如下两种:
第一种,从第一指定接口获取车联网多端系统对应的代码库的清单。
具体的,这里所述的第一指定接口连接于用于存储代码库的清单的存储平台。当存在代码库的清单的获取需求时,直接通过第一指定接口获取即可。由于清单是直接通过指定接口获取的,因此可以快速的得到清单。
第二种,通过第二指定接口接收针对车联网多端系统对应的代码库的清单信息;基于所述清单信息包括的内容,得到所述车联网多端系统对应的代码库的清单。
具体的,清单信息至少包括如下内容:分支信息、分支所属的模块信息、模块所在子系统的子系统信息。其中,分支信息包括分支名称、分支用途、分支类型(主干分支或拓展分支)。分支所属的模块信息包括模块名称。模块所在子系统的子系统信息包括子系统名称。
具体的,这里所述的第二指定接口连接于收集清单信息的可视化界面。通过可视化界面获取业务人员输入的清单信息。可选的,可视化界面的具体形式如图3所示。用户可以通过图3输入清单信息,图3中的仓库类型包括Gerrit和Gitlab两种选项,用户可以基于需求选取。申请类型包括创建Git库和创建Feature分支两种选项,在用户需要在清单中添加分支时,可选取创建Feature分支;在用户需要创建新的清单时,则选取创建Git库。Git库名称对应一个名称输入框,用户可以基于业务要求在名称输入框中输入Git库名称,图3中名称输入框中的内容仅为一个实例。项目及分类对应一个项目及分类输入框,用户可以基于业务要求在项目及分类输入框中输入模块名称,图3中项目及分类输入框中的内容仅为一个实例。Git权限继承对应一个下拉选项单,在选项单中可以选择Git权限继承,比如,权限为只读。创建初始分支对应master和develop两个选项,即主干分支和拓展分支,用户可以基于业务要求择一选择。用途对应一个用途输入框,在该用途输入框中用户可以填写分支对应的具体用途。
具体的,为了提高代码统计的正确性,需要使清单的内容及时与车联网多端系统的开发进程所产生的代码相匹配,因此,清单需要随着车联网多端系统的开发进程而更新。
具体的,基于所述清单信息包括的内容,得到车联网多端系统对应的代码库的清单的具体步骤包括:若不存在所述车联网多端系统对应的代码库的清单,则整合通过第二指定接口接收到的代码库的清单信息,形成所述代码库的清单;若已存在所述车联网多端系统对应的代码库的清单,则通过第二指定接口接收到的代码库的清单信息,更新已存在的代码库的清单。
具体的,在已存在代码库的清单时,需要获取到的清单信息为新的信息,车联网多端系统中的代码可能发生了变动。因此为了使清单的内容及时与车联网多端系统的开发进程相匹配,需要通过第二指定接口接收到的代码库的清单信息,及时更新已存在的代码库的清单,得到新的代码库的清单。该更新已存在的代码库的清单的过程可以包括基于清单信息向已存在的代码库的清单中添加、修改、或删除相应的内容。
具体的,在不存在代码库的清单时,则为了可以及时基于代码库的清单对代码进行统计,则需要整合通过第二指定接口接收到的代码库的清单信息,形成所述代码库的清单。整合清单信息的过程实际上是建立子系统、模块和分支之间的对应关系的过程。
202、基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行,并执行204。
具体的,在对应关系中还包括分支与模块的对应关系,其中,每一个分支对应一个模块时,步骤202具体的执行过程为:选取所述待统计代码的模块对应的一个分支作为目标分支;基于所述清单中的对应关系,查询所有子系统中所述目标分支对应的模块,获取所述目标分支所属模块在所有子系统中的全部代码行。
具体的,在针对任一模块有代码统计需求时,可以选取该模块对应的任意一个分支作为目标分支。然后根据清单中的对应关系,将目标分支对应的模块确定为目标模块。遍历所有子系统中的目标模块,获取目标模块在各个系统中的代码行,汇总获取到的代码行,从而获取到目标分支所属模块在各子系统中对应的全部代码行。
具体的,在执行本步骤时,可以按照下面的命令遍历代码库的所有子系统。所述的命令包括:
$git clone gitlab/gerrit库地址
$cd git库本地环境
$git checkout分支名称
$gitstats./result
$cd result
读取index.html(遍历时产生的文件)中的Total Lines of Code(代码
总数)的值,该值即为获取到的目标分支所属模块对应的全部代码行总数。
具体的,下面以目标分支为“A分支”,A分支对应的模块为“A模块”为例,对基于清单中的对应关系,遍历所有子系统中目标分支对应的模块,获取目标分支所属模块在所有子系统中的全部代码行,进行说明:基于清单中的对应关系,确定子系统1、子系统2和子系统3中存在A分支对应的A模块,遍历子系统1、子系统2和子系统3中的A模块,获取A分支所属的A模块在所有子系统中的全部代码行,获取的代码行可如下表-1的方式展示出:
表-1
需要说明的是,表-1中的“#”表征代码行,“*”表征代码行总量。在实际应用中,表-1中的“#”和“*”为实际获取的代码行和代码行总量,这里仅为一种表征。
203、确基于所述清单中的对应关系,查询一个子系统中所述目标分支对应的模块,获取所述目标分支在被查询子系统中的全部代码行,并执行204。
具体的,在本步骤中仅纵向的获取模块在一个子系统中对应的全部代码行,获取的代码行可以纵向评估一个模块在一个子系统中的代码质量。
204、形成代码统计单;所述代码统计单中包括有待统计代码的模块在所有子系统中的全部代码行,和所述全部代码行对应的代码行总量。
具体的,代码统计单中包括有目标分支所属模块对应的全部代码行相应的所有代码和全部代码行对应的代码行总量。业务人员可以通过该代码统计单中的所有代码进行bug查找。该代码统计单的具体形式可以基于具体的业务要求确定。比如,代码统计单可以为json格式或txt格式。
205、基于所述代码统计单辅助代码度量的过程。
具体的,基于代码统计单辅助代码度量的过程可以为:以预设的可视化窗口,展示代码统计单,以使业务人员更为直观的观察到代码统计结果。
具体的,业务人员通过展示的代码统计单可以确定存在问题的代码行,并统计问题代码行的数量,从而根据该问题代码行的数量度量出模块的代码缺陷率,评估各子系统及各模块中的代码质量,以便基于质量改进研发人员的开发效率。
第三方面,依据图1或图2所示的方法,本公开的另一个实施例还提供了一种车联网多端系统的代码统计装置,如图4所示,所述装置主要包括:
获取单元31,用于获取车联网多端系统对应的代码库的清单;所述清单中包括车联网多端系统中的子系统和模块的对应关系;所述对应关系中一个模块可对应多个子系统;
第一确定单元32,用于基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行。
本发明实施例提供的车联网多端系统的代码统计方法及装置,根据车联网多端系统对应的代码库的清单中包括的子系统和模块的对应关系,便可以查询车联网多端系统的所有子系统中的模块,从而获取到任一待统计代码的模块在所有子系统中的全部代码行。可见,本公开的实施例提供的方案能够统计车联网多端系统内横向跨越多个子系统的模块的所有代码行,且在代码统计时并不用分别与各子系统的研发人员沟通对接,减少了沟通成本,从而提高了代码行的统计效率。
在一些实施例中,所述清单随着所述车联网多端系统的开发进程而更新。
在一些实施例中,如图5所示,所述对应关系中还包括分支与模块的对应关系,其中,每一个分支对应一个模块;
第一确定单元32,用于选取所述待统计代码的模块对应的一个分支作为目标分支;基于所述清单中的对应关系,查询所有子系统中所述目标分支对应的模块,获取所述目标分支所属模块在所有子系统中的全部代码行。
在一些实施例中,如图5所示,获取单元31包括:
第一获取模块311,用于从第一指定接口获取所述车联网多端系统对应的代码库的清单。
在一些实施例中,如图5所示,获取单元31包括:
第二获取模块312,用于通过第二指定接口接收针对车联网多端系统对应的代码库的清单信息;基于所述清单信息包括的内容,得到所述车联网多端系统对应的代码库的清单;其中,所述清单信息包括如下内容:分支信息、分支所属的模块信息、模块所在子系统的子系统信息。
在一些实施例中,如图5所示,第二获取模块312包括:
所述整合子模块3121,用于在不存在所述车联网多端系统对应的代码库的清单时,整合通过第二指定接口接收到的代码库的清单信息,形成所述代码库的清单;
所述更新子模块3121,用于在已存在所述车联网多端系统对应的代码库的清单时,通过第二指定接口接收到的代码库的清单信息,更新已存在的代码库的清单。
在一些实施例中,如图5所示,该装置还包括:
第二确定单元33,用于基于所述清单中的对应关系,查询一个子系统中所述目标分支对应的模块,获取所述目标分支在被查询子系统中的全部代码行。
在一些实施例中,如图5所示,该装置还包括:
辅助单元34,用于在所述第一确定模块32获取所述目标分支所属模块对应的全部代码行之后,生成代码统计单;所述代码统计单中包括有待统计代码的模块在所有子系统中的全部代码行,和所述全部代码行对应的代码行总量;基于所述代码统计单辅助代码度量的过程。
在一些实施例中,如图5所示,所述辅助单元34,用于以预设的可视化窗口,展示所述代码统计单。
在一些实施例中,所述车联网多端系统包括:云端、互联网以及应用程序APP端中的至少一种。
在一些实施例中,所述模块包括OTA模块、CAN模块、I2S模块、I2C模块、SPI模块和SSP模块中的至少一种。
第三方面的实施例提供的车联网多端系统的代码统计装置,可以用以执行第一方面或第二方面的实施例所提供的车联网多端系统的代码统计方法,相关的用于的含义以及具体的实施方式可以参见第一方面或第二方面的实施例中的相关描述,在此不再详细说明。
第四方面,本公开的另一个实施例还提供了一种车联网多端系统,如图6所示,该系统包括:
P个子系统41、M个模块42以及第三方面所述的车联网多端系统的代码统计装置43;其中,一个模块42可对应多个子系统41;P≥2;M>1;
所述车联网多端系统的代码统计装置43,用于统计对应多个子系统41的模块42对应的全部代码行。
本发明实施例提供的方案能够统计车联网多端系统内横向跨越多个子系统的模块的所有代码行,且在代码统计时并不用分别与各子系统的研发人员沟通对接,减少了沟通成本,提高了代码行的统计效率。
第四方面的实施例提供的车联网多端系统,可以用以执行第一方面或第二方面的实施例所提供的车联网多端系统的代码统计方法,相关的用于的含义以及具体的实施方式可以参见第一方面或第二方面的实施例中的相关描述,在此不再详细说明。
第五方面,本公开的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面或第二方面所述的车联网多端系统的代码统计方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
第六方面,本公开的实施例提供了一种人机交互装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面或第二方面所述的车联网多端系统的代码统计方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照本公开的实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (14)

1.一种车联网多端系统的代码统计方法,其特征在于,所述方法包括:
获取车联网多端系统对应的代码库的清单,所述清单中包括车联网多端系统中的子系统和模块的对应关系,所述对应关系中一个模块可对应多个子系统;
基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行;
所述对应关系中还包括分支与模块的对应关系,其中,每一个分支对应一个模块;
所述基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行,包括:
选取所述待统计代码的模块对应的一个分支作为目标分支;
基于所述清单中的对应关系,查询所有子系统中所述目标分支对应的模块,获取所述目标分支所属模块在所有子系统中的全部代码行。
2.根据权利要求1所述的方法,其特征在于,所述清单随着所述车联网多端系统的开发进程而更新。
3.根据权利要求1所述的方法,其特征在于,所述获取车联网多端系统对应的代码库的清单,包括:
从第一指定接口获取所述车联网多端系统对应的代码库的清单。
4.根据权利要求1所述的方法,其特征在于,所述获取车联网多端系统对应的代码库的清单,包括:
通过第二指定接口接收针对车联网多端系统对应的代码库的清单信息;
基于所述清单信息包括的内容,得到所述车联网多端系统对应的代码库的清单;
其中,所述清单信息包括如下内容:分支信息、分支所属的模块信息、模块所在子系统的子系统信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述清单信息包括的内容,得到所述车联网多端系统对应的代码库的清单,包括:
若不存在所述车联网多端系统对应的代码库的清单,则整合通过第二指定接口接收到的代码库的清单信息,形成所述代码库的清单;
若已存在所述车联网多端系统对应的代码库的清单,则通过第二指定接口接收到的代码库的清单信息,更新已存在的代码库的清单。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
基于所述清单中的对应关系,查询一个子系统中所述目标分支对应的模块,获取所述目标分支在被查询子系统中的全部代码行。
7.根据权利要求1-6中任一所述的方法,其特征在于,在所述获取所述目标分支所属模块在所有子系统中的全部代码行之后,该方法还包括:
生成代码统计单;所述代码统计单中包括有待统计代码的模块在所有子系统中的全部代码行,和所述全部代码行对应的代码行总量;
基于所述代码统计单辅助代码度量的过程。
8.根据权利要求7所述的方法,其特征在于,所述基于所述代码统计单辅助代码度量的过程,包括:
以预设的可视化窗口,展示所述代码统计单。
9.根据权利要求1-6中任一所述的方法,其特征在于,所述子系统包括:云端子系统、互联网端子系统以及应用程序APP端子系统中的至少一种。
10.根据权利要求1-6中任一所述的方法,其特征在于,所述模块包括OTA模块、CAN模块、I2S模块、I2C模块、SPI模块和SSP模块中的至少一种。
11.一种车联网多端系统的代码统计装置,其特征在于,所述装置包括:
获取单元,用于获取车联网多端系统对应的代码库的清单;所述清单中包括车联网多端系统中的子系统和模块的对应关系;所述对应关系中一个模块可对应多个子系统;
确定单元,用于基于所述清单中的对应关系,查询所述车联网多端系统的所有子系统中的模块,获取任一待统计代码的模块在所有子系统中的全部代码行;
所述对应关系中还包括分支与模块的对应关系,其中,每一个分支对应一个模块;
所述确定单元,用于选取所述待统计代码的模块对应的一个分支作为目标分支;基于所述清单中的对应关系,查询所有子系统中所述目标分支对应的模块,获取所述目标分支所属模块在所有子系统中的全部代码行。
12.一种车联网多端系统,其特征在于,所述系统包括:P个子系统、M个模块以及权利要求11所述的车联网多端系统的代码统计装置;其中,一个模块可对应多个子系统;P≥2;M>1;
所述车联网多端系统的代码统计装置,用于统计对应多个子系统的模块对应的全部代码行。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至10中任一项所述的车联网多端系统的代码统计方法。
14.一种人机交互装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至10中任一项所述的车联网多端系统的代码统计方法。
CN201910641452.0A 2019-07-16 2019-07-16 一种车联网多端系统的代码统计方法及装置 Active CN112241254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910641452.0A CN112241254B (zh) 2019-07-16 2019-07-16 一种车联网多端系统的代码统计方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910641452.0A CN112241254B (zh) 2019-07-16 2019-07-16 一种车联网多端系统的代码统计方法及装置

Publications (2)

Publication Number Publication Date
CN112241254A CN112241254A (zh) 2021-01-19
CN112241254B true CN112241254B (zh) 2024-02-02

Family

ID=74167031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910641452.0A Active CN112241254B (zh) 2019-07-16 2019-07-16 一种车联网多端系统的代码统计方法及装置

Country Status (1)

Country Link
CN (1) CN112241254B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761267A (zh) * 2014-01-06 2014-04-30 中国航空无线电电子研究所 综合模块化航空电子系统中的卡尔曼滤波系统
CN104750469A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 源代码统计分析方法和系统
CN108205493A (zh) * 2016-12-20 2018-06-26 腾讯科技(深圳)有限公司 一种代码检测方法、终端、服务器及系统
CN109254791A (zh) * 2018-09-03 2019-01-22 平安普惠企业管理有限公司 开发数据的管理方法、计算机可读存储介质和终端设备
CN109684226A (zh) * 2018-12-29 2019-04-26 携程计算机技术(上海)有限公司 Java代码覆盖率统计系统
CN109783105A (zh) * 2018-12-14 2019-05-21 平安普惠企业管理有限公司 企业服务平台的编码统计方法、设备、存储介质及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2783284B1 (en) * 2011-11-22 2019-03-13 Solano Labs, Inc. System of distributed software quality improvement

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750469A (zh) * 2013-12-30 2015-07-01 中国银联股份有限公司 源代码统计分析方法和系统
CN103761267A (zh) * 2014-01-06 2014-04-30 中国航空无线电电子研究所 综合模块化航空电子系统中的卡尔曼滤波系统
CN108205493A (zh) * 2016-12-20 2018-06-26 腾讯科技(深圳)有限公司 一种代码检测方法、终端、服务器及系统
CN109254791A (zh) * 2018-09-03 2019-01-22 平安普惠企业管理有限公司 开发数据的管理方法、计算机可读存储介质和终端设备
CN109783105A (zh) * 2018-12-14 2019-05-21 平安普惠企业管理有限公司 企业服务平台的编码统计方法、设备、存储介质及装置
CN109684226A (zh) * 2018-12-29 2019-04-26 携程计算机技术(上海)有限公司 Java代码覆盖率统计系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于Git的代码托管平台JLUCODE";侯效永 等;《计算机时代》;第32-34, 38页 *

Also Published As

Publication number Publication date
CN112241254A (zh) 2021-01-19

Similar Documents

Publication Publication Date Title
CN110058856B (zh) 页面配置方法及装置
CN106909372B (zh) 一种移动端用户购买路径计算方法及系统
CN109542789B (zh) 一种代码覆盖率统计方法及装置
US20070033570A1 (en) Method and system for transforming a process flow
US8359572B2 (en) Self-describing re-usable software components
CN111464639A (zh) 数据采集方法、装置、存储介质及处理器
CN110888922A (zh) 一种数据同步时目标表的创建方法及装置
CN112445600A (zh) 一种离线数据处理任务发布方法及系统
CN115599437A (zh) 一种软件版本的处理方法、装置、电子设备及存储介质
CN106648839A (zh) 数据处理的方法和装置
CN113919683A (zh) 工艺工时的计算方法、装置、存储介质及处理器
CN112241254B (zh) 一种车联网多端系统的代码统计方法及装置
CN110930520B (zh) 一种语义分割标注方法、装置及设备
CN112100036A (zh) 一种基于PaaS前端引擎的页面性能监控方法及系统
CN112579066A (zh) 图表展示方法、装置、存储介质及设备
CN113485746B (zh) 应用程序接口文档的生成方法及装置
CN113055209B (zh) 一种边缘计算的编排方法及装置
CN115987821A (zh) 网关路由测试方法及装置
CN115048083A (zh) 组件的可视化方法、装置、存储介质及电子设备
CN114817209A (zh) 监控规则的处理方法和装置、处理器及电子设备
CN110908876B (zh) 一种硬件性能数据的获取方法及装置
CN113051105A (zh) 数据处理方法、装置、设备及存储介质
CN110888649B (zh) 应用部署方法、应用基线的创建方法和装置
CN113792241A (zh) 在Web地图上叠加浏览DWG文件的方法及相关装置
CN115687310A (zh) 数据清洗方法及装置

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
GR01 Patent grant
GR01 Patent grant