CN110704025A - 编码规范工具的生成方法和装置、存储介质、电子设备 - Google Patents
编码规范工具的生成方法和装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN110704025A CN110704025A CN201910808281.6A CN201910808281A CN110704025A CN 110704025 A CN110704025 A CN 110704025A CN 201910808281 A CN201910808281 A CN 201910808281A CN 110704025 A CN110704025 A CN 110704025A
- Authority
- CN
- China
- Prior art keywords
- coding
- tool
- file
- command line
- development project
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements 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)
- Stored Programmes (AREA)
Abstract
本公开实施例公开了一种编码规范工具的生成方法和装置、存储介质、电子设备,其中,方法包括:为一个开发项目配置一个支持命令行操作的初始编码规范工具;在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑,本实施例使项目开发时无需关心具体的实现以及配置,命令行初始化即具备统一的质量要求规范,同时可命令行更新规范,无论项目初始化方式如何,以及规范更新,都可以高效率的解决。
Description
技术领域
本公开涉及前端开发技术,尤其是一种编码规范工具的生成方法和装置、存储介质、电子设备。
背景技术
不同的前端研发人员,受过往经历不同,习惯不同,编码风格差异很大,且不同的编辑器配置不同,导致编码风格也会有差异,同时,部分编码虽然能实现功能,但其实现方式较难维护,质量较差,或部分API使用不规范。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种编码规范工具的生成方法和装置、存储介质、电子设备。
根据本公开实施例的一个方面,提供了一种编码规范工具的生成方法,包括:
为一个开发项目配置一个支持命令行操作的初始编码规范工具;
在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;
在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑。
可选地,所述方法还包括:
将所述目标编码规范工具上传到包管理器中进行保存。
可选地,所述为一个开发项目配置一个支持命令行操作的初始编码规范工具,包括:
针对所述开发项目确定一个可执行文件;
在所述可执行文件中配置支持命令行操作的入口文件,将所述可执行文件作为所述初始编码规范工具。
可选地,所述至少两种编码方法至少包括:js编码方法和样式编码方法;
所述在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件,包括:
在所述初始编码规范工具中针对所述js编码方法新建第一规范文件,所述第一规范文件中用于保存所述js编码方法的编码风格规范和编码质量规范;
在所述初始编码规范工具中针对所述样式编码方法新建第二规范文件,所述第二规范文件中用于保存所述样式编码方法的编码风格规范和编码质量规范。
可选地,还包括:
响应于接收编码风格规范的修改指令和/或编码质量规范的修改指令,根据所述修改指令对所述第一规范文件和所述第二规范文件中保存的编码风格规范和/或编码质量规范进行修改。
可选地,所述命令行配置文件中包括:设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息。
可选地,所述方法还包括:
响应于所述开发项目对所述目标编码规范工具进行加载,确定所述开发项目中是否包括相关依赖包;
根据所述开发项目中是否包括相关依赖包,确定对所述开发项目执行初始化操作或更新操作。
可选地,所述根据所述开发项目中是否包括相关依赖包,确定对所述开发项目执行初始化操作或更新操作,包括:
判断所述开发项目是否包括相关依赖包,如果是,对所述开发项目执行编码规范工具的更新操作;否则,对所述开发项目执行编码规范工具的初始化操作。
可选地,所述对所述开发项目执行编码规范工具的初始化操作,包括:
解析所述命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;
根据所述依赖包版本信息安装对应所述依赖包版本信息的依赖包;
根据所述读取配置的路径信息读取所述至少两个规范文件中保存的编码风格规范和编码质量规范,写入所述开发项目;
根据所述设置的校验逻辑信息为所述开发项目设置至少一种校验逻辑。
可选地,所述对所述开发项目执行编码规范工具的更新操作,包括:
解析所述命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;
将所述获得的依赖包版本信息与所述开发项目中已安装的依赖包版本信息进行匹配,基于匹配结果更新所述开发项目中的依赖包;
删除所述开发项目中已保存的编码风格规范和编码质量规范;将根据所述读取配置的路径信息读取的所述保存的编码风格规范和编码质量规范写入所述开发项目;
根据所述设置的校验逻辑信息更新所述开发项目的至少一种校验逻辑。
根据本公开实施例的另一方面,提供了一种编码规范工具的生成装置,包括:
工具初始化模块,用于为一个开发项目配置一个支持命令行操作的初始编码规范工具;
第一文件配置模块,用于在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;
第二文件配置模块,用于在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑。
可选地,所述装置还包括:
工具上传模块,用于将所述目标编码规范工具上传到包管理器中进行保存。
可选地,所述工具初始化模块,具体用于针对所述开发项目确定一个可执行文件;在所述可执行文件中配置支持命令行操作的入口文件,将所述可执行文件作为所述初始编码规范工具。
可选地,所述至少两种编码方法至少包括:js编码方法和样式编码方法;
所述第一文件配置模块,具体用于在所述初始编码规范工具中针对所述js编码方法新建第一规范文件,所述第一规范文件中用于保存所述js编码方法的编码风格规范和编码质量规范;在所述初始编码规范工具中针对所述样式编码方法新建第二规范文件,所述第二规范文件中用于保存所述样式编码方法的编码风格规范和编码质量规范。
可选地,所述装置还包括:
规范修改模块,用于响应于接收编码风格规范的修改指令和/或编码质量规范的修改指令,根据所述修改指令对所述第一规范文件和所述第二规范文件中保存的编码风格规范和/或编码质量规范进行修改。
可选地,所述命令行配置文件中包括:设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息。
可选地,所述装置还包括:
依赖包确定模块,用于响应于所述开发项目对所述目标编码规范工具进行加载,确定所述开发项目中是否包括相关依赖包;
操作确定模块,用于根据所述开发项目中是否包括相关依赖包,确定对所述开发项目执行初始化操作或更新操作。
可选地,所述操作确定模块,具体用于判断所述开发项目是否包括相关依赖包,如果是,对所述开发项目执行编码规范工具的更新操作;否则,对所述开发项目执行编码规范工具的初始化操作。
可选地,所述操作确定模块在对所述开发项目执行编码规范工具的初始化操作时,用于解析所述命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;根据所述依赖包版本信息安装对应所述依赖包版本信息的依赖包;根据所述读取配置的路径信息读取所述至少两个规范文件中保存的编码风格规范和编码质量规范,写入所述开发项目;根据所述设置的校验逻辑信息为所述开发项目设置至少一种校验逻辑。
可选地,所述操作确定模块在对所述开发项目执行编码规范工具的更新操作时,用于解析所述命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;将所述获得的依赖包版本信息与所述开发项目中已安装的依赖包版本信息进行匹配,基于匹配结果更新所述开发项目中的依赖包;删除所述开发项目中已保存的编码风格规范和编码质量规范;将根据所述读取配置的路径信息读取的所述保存的编码风格规范和编码质量规范写入所述开发项目;根据所述设置的校验逻辑信息更新所述开发项目的至少一种校验逻辑。
根据本公开实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述实施例所述的编码规范工具的生成方法。
根据本公开实施例的还一方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述实施例所述的编码规范工具的生成方法。
基于本公开上述实施例提供的一种编码规范工具的生成方法和装置、存储介质、电子设备,为一个开发项目配置一个支持命令行操作的初始编码规范工具;在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑,本实施例通过在目标编码规范工具中统一维护一套规范细则,使项目开发时无需关心具体的实现以及配置,命令行初始化即具备统一的质量要求规范,同时可命令行更新规范,无论项目初始化方式如何,以及规范更新,都可以高效率的解决,并且提高项目的可维护性以及质量。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的编码规范工具的生成方法的流程示意图。
图2是本公开图1所示的实施例中步骤102的一个流程示意图。
图3是本公开图1所示的实施例中步骤104的一个流程示意图。
图4是本公开另一示例性实施例提供的编码规范工具的生成方法的流程示意图。
图5是本公开一示例性实施例提供的编码规范工具的生成装置的结构示意图。
图6是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,发明人发现,团队项目采取统一的项目脚手架生成,通过项目脚手架自带的风格对代码进行风格统一,但该方法至少存在以下问题:后续编码风格以及质量校验稍有变动,需各个项目手动修改配置,复杂且易出错,效率低。
示例性方法
图1是本公开一示例性实施例提供的编码规范工具的生成方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括如下步骤:
步骤102,为一个开发项目配置一个支持命令行操作的初始编码规范工具。
可选地,初始编码规范工具可以为一个用于存储命令代码的存储空间,命令行操作本质上是逻辑的文本化描述,是通过代码实现的,即初始编码规范工具中可以保存的是逻辑的代码,通过对逻辑文本化,可以对逻辑进行抽象、保存和优化。本实施例提供的开发项目可以包括但不限于:前端开发项目、后端开发项目等。
步骤104,在初始编码规范工具中针对至少两种编码方法新建至少两个规范文件。
其中,每个规范文件用于保存一种编码方法的编码风格规范和编码质量规范。
本实施例通过在编码规范工具中保存编码风格规范和编码质量规范,实现了在前端开发过程中编码风格的统一和编码质量的控制。
步骤106,在初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具。
其中,命令行配置文件用于保存开发项目对应的操作逻辑。
通过上述步骤的配置,获得的目标编码规范工具中保存了至少两个规范文件和一个命令行配置文件,在某一项目需要进行开发前,加载本实施例得到的目标编码规范工具,即可实现项目中所有的开发代码中的编码风格及编码质量的统一,提高项目的可维护性以及质量。
本公开上述实施例提供的一种编码规范工具的生成方法,为一个开发项目配置一个支持命令行操作的初始编码规范工具;在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑,本实施例通过在目标编码规范工具中统一维护一套规范细则,使项目开发时无需关心具体的实现以及配置,命令行初始化即具备统一的质量要求规范,同时可命令行更新规范,无论项目初始化方式如何,以及规范更新,都可以高效率的解决。
在一些可选的实施例中,在上述实施例的基础上,还包括:
将目标编码规范工具上传到包管理器中进行保存。
本实施例中的包管理器是指npm(Node Package Manager),即一个作为代码仓库的服务器,本实施例中的包管理器中可以保存各种工具(代码组成的),通过在包管理器中存储目标编码规范工具,在需要统一代码开发时,直接从npm下载目标编码规范工具到本地即可;另外,除了将目标编码规范工具上传到包管理器中,还可以将目标编码规范工具上传到一个特定共享服务器(例如,公司服务器)中,实现特定范围的目标编码规范工具共享。
如图2所示,在上述图1所示实施例的基础上,步骤102可包括如下步骤:
步骤1021,针对开发项目确定一个可执行文件。
步骤1022,在可执行文件中配置支持命令行操作的入口文件,将可执行文件作为初始编码规范工具。
可选地,为开发项目确定一个存储空间,对存储空间进行格式变更,生成package.json文件,该文件格式保证了可以在命令行中执行,并通过配置bin字段,指向项目入口文件(即,真正执行操作的逻辑),可选地,命令行配置文件可保存在入口文件中。
如图3所示,在上述图1所示实施例的基础上,在本实施例中,至少两种编码方法可以包括但不限于:js编码方法和样式编码(style编码)方法等,步骤104可包括如下步骤:
步骤1041,在初始编码规范工具中针对js编码方法新建第一规范文件。
其中,第一规范文件中用于保存js编码方法的编码风格规范和编码质量规范。
步骤1042,在初始编码规范工具中针对样式编码方法新建第二规范文件。
其中,第二规范文件中用于保存样式编码方法的编码风格规范和编码质量规范。
本实施例通过新建不同的规范文件保存js编码方法的编码风格规范和编码质量规范以及保存样式编码方法的编码风格规范和编码质量规范,使生成的目标编码规范工具可以对不同编码方法的编码风格和编码质量分别进行配置,并且互不影响,扩大了目标编码规范工具的适用范围。
可选地,上述步骤104还可包括如下步骤:
响应于接收编码风格规范的修改指令和/或编码质量规范的修改指令,根据修改指令对第一规范文件和第二规范文件中保存的编码风格规范和/或编码质量规范进行修改。
本实施例中,在规范文件中不仅实现了对编码风格规范和编码质量规范的保存,还实现了对编码风格规范和编码质量规范的维护,以便在目标编码规范工具生成之后,还可以对编码风格规范和编码质量规范进行修改等操作,延长了目标编码规范工具的使用寿命。
在一些可选的实施例中,命令行配置文件中包括:设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息。
图4是本公开另一示例性实施例提供的编码规范工具的生成方法的流程示意图。如图4所示,本实施例方法包括如下步骤:
步骤102,为一个开发项目配置一个支持命令行操作的初始编码规范工具。
步骤104,在初始编码规范工具中针对至少两种编码方法新建至少两个规范文件。
其中,每个规范文件用于保存一种编码方法的编码风格规范和编码质量规范。
步骤106,在初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具。
其中,命令行配置文件用于保存开发项目对应的操作逻辑。
步骤408,响应于开发项目对目标编码规范工具进行加载,确定开发项目中是否包括相关依赖包。
步骤410,根据开发项目中是否包括相关依赖包,确定对开发项目执行初始化操作或更新操作。
可选地,判断开发项目是否包括相关依赖包,如果是,对开发项目执行编码规范工具的初始化操作;否则,对开发项目执行编码规范工具的更新操作。
本实施例属于在前端开发之前,对目标编码规范工具的加载,并通过目标编码规范工具对开发项目中原来加载的编码规范工具(如果存在)进行更新,如果不存在原来的编码规范工具,即进行编码规范工具的初始化,以实现在前端开发过程中统一按照最新编码规范进行编码,提高了编码规则统一的实时性。
在一些可选实施例中,如上述实施例中开发项目不包括相关依赖包,对开发项目执行编码规范工具的初始化操作,包括:
解析命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;
根据依赖包版本信息安装对应依赖包版本信息的依赖包;
根据读取配置的路径信息读取至少两个规范文件中保存的编码风格规范和编码质量规范,写入开发项目;
根据设置的校验逻辑信息为开发项目设置至少一种校验逻辑。
可选地,初始化操作可包括以下操作:1)统一安装依赖:找到业务项目的package.json文件,并读取文件配置,查找是否安装git hook以及规范校验相关npm依赖包,如果未安装,分别安装对应版本的npm依赖包,如果已安装,检查其版本是否一致,如不一致,卸载其已安装的npm依赖包,并重新安装对应版本的npm依赖包,如一致则跳过此操作;2)同步统一配置:读取上述在至少两个规范文件中保存并维护的配置(如,编码风格规范和编码质量规范),在业务项目根目录下同步生成一份一模一样的配置文件;3)校验逻辑实现:a)在上述1)获取的package.json文件中的scripts中,增加手动校验js及style的命令,从而各个业务项目可手动校验及修复;b)在上述1)获取的package.json文件中增加git的pre-commit钩子,在提交前,对修改的js和style做自动校验以及修复。
在另一些可选实施例中,如上述实施例中开发项目包括相关依赖包,对开发项目执行编码规范工具的更新操作,包括:
解析命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;
将获得的依赖包版本信息与开发项目中已安装的依赖包版本信息进行匹配,基于匹配结果更新开发项目中的依赖包;
删除开发项目中已保存的编码风格规范和编码质量规范;将根据读取配置的路径信息读取的保存的编码风格规范和编码质量规范写入开发项目;
根据设置的校验逻辑信息更新开发项目的至少一种校验逻辑。
可选地,更新操作可包括以下操作:1)更新安装依赖:找到业务项目的package.json文件,并读取文件配置,查找git hook以及规范校验相关npm依赖包,核对其版本是否一致,如不一致,卸载原依赖包,并更新成指定版本;2)同步统一配置:查找业务项目下生成的至少两个规范文件中保存的配置文件并删除,并重新在脚手架中读取目标编码规范工具中至少两个规范文件中保存的配置,在业务项目根目录下重新同步生成一份一模一样的配置文件;3)校验逻辑更新:a)根据具体更新内容,在上述1)获取的package.json文件中,智能识别并统一修改,如修改git的pre-commit钩子具体执行内容,则获取package.json文件中的钩子配置,删除并更新成最新的配置。
本公开实施例提供的任一种编码规范工具的生成方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种编码规范工具的生成方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种编码规范工具的生成方法。下文不再赘述。
示例性装置
图5是本公开一示例性实施例提供的编码规范工具的生成装置的结构示意图。
如图5所示,本实施例包括:
工具初始化模块51,用于为一个开发项目配置一个支持命令行操作的初始编码规范工具。
第一文件配置模块52,用于在初始编码规范工具中针对至少两种编码方法新建至少两个规范文件。
其中,每个规范文件用于保存一种编码方法的编码风格规范和编码质量规范。
第二文件配置模块53,用于在初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具。
其中,命令行配置文件用于保存开发项目对应的操作逻辑。
本公开上述实施例提供的一种编码规范工具的生成装置,为一个开发项目配置一个支持命令行操作的初始编码规范工具;在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑,本实施例通过在目标编码规范工具中统一维护一套规范细则,使项目开发时无需关心具体的实现以及配置,命令行初始化即具备统一的质量要求规范,同时可命令行更新规范,无论项目初始化方式如何,以及规范更新,都可以高效率的解决。
可选地,本申请实施例提供的装置还包括:
工具上传模块,用于将目标编码规范工具上传到包管理器中进行保存。
可选地,工具初始化模块51,具体用于针对开发项目确定一个可执行文件;在可执行文件中配置支持命令行操作的入口文件,将可执行文件作为初始编码规范工具。
可选地,至少两种编码方法可以包括但不限于:js编码方法和样式编码(style编码)方法等;
第一文件配置模块52,具体用于在初始编码规范工具中针对js编码方法新建第一规范文件,第一规范文件中用于保存js编码方法的编码风格规范和编码质量规范;在初始编码规范工具中针对样式编码方法新建第二规范文件,第二规范文件中用于保存样式编码方法的编码风格规范和编码质量规范。
可选地,本实施例提供的装置还包括:
规范修改模块,用于响应于接收编码风格规范的修改指令和/或编码质量规范的修改指令,根据修改指令对第一规范文件和第二规范文件中保存的编码风格规范和/或编码质量规范进行修改。
在一些可选的实施例中,命令行配置文件中包括:设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息。
可选地,装置还包括:
依赖包确定模块,用于响应于开发项目对目标编码规范工具进行加载,确定开发项目中是否包括相关依赖包;
操作确定模块,用于根据开发项目中是否包括相关依赖包,确定对开发项目执行初始化操作或更新操作。
可选地,操作确定模块,具体用于判断开发项目是否包括相关依赖包,如果是,对开发项目执行编码规范工具的更新操作;否则,对开发项目执行编码规范工具的初始化操作。
可选地,操作确定模块在对开发项目执行编码规范工具的初始化操作时,用于解析命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;根据依赖包版本信息安装对应依赖包版本信息的依赖包;根据读取配置的路径信息读取至少两个规范文件中保存的编码风格规范和编码质量规范,写入开发项目;根据设置的校验逻辑信息为开发项目设置至少一种校验逻辑。
可选地,操作确定模块在对开发项目执行编码规范工具的更新操作时,用于解析命令行配置文件获得设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息;将获得的依赖包版本信息与所述开发项目中已安装的依赖包版本信息进行匹配,基于匹配结果更新开发项目中的依赖包;删除开发项目中已保存的编码风格规范和编码质量规范;将根据读取配置的路径信息读取的保存的编码风格规范和编码质量规范写入开发项目;根据设置的校验逻辑信息更新开发项目的至少一种校验逻辑。
示例性电子设备
下面,参考图6来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图6图示了根据本公开实施例的电子设备的框图。
如图6所示,电子设备60包括一个或多个处理器61和存储器62。
处理器61可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备60中的其他组件以执行期望的功能。
存储器62可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器61可以运行所述程序指令,以实现上文所述的本公开的各个实施例的编码规范工具的生成方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备60还可以包括:输入装置63和输出装置64,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备100或第二设备200时,该输入装置63可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置63可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。
此外,该输入设备63还可以包括例如键盘、鼠标等等。
该输出装置64可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备64可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备60中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备60还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的编码规范工具的生成方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的编码规范工具的生成方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种编码规范工具的生成方法,其特征在于,包括:
为一个开发项目配置一个支持命令行操作的初始编码规范工具;
在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;
在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标编码规范工具上传到包管理器中进行保存。
3.根据权利要求1或2所述的方法,其特征在于,所述为一个开发项目配置一个支持命令行操作的初始编码规范工具,包括:
针对所述开发项目确定一个可执行文件;
在所述可执行文件中配置支持命令行操作的入口文件,将所述可执行文件作为所述初始编码规范工具。
4.根据权利要求1-3任一所述的方法,其特征在于,所述至少两种编码方法至少包括:js编码方法和样式编码方法;
所述在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件,包括:
在所述初始编码规范工具中针对所述js编码方法新建第一规范文件,所述第一规范文件中用于保存所述js编码方法的编码风格规范和编码质量规范;
在所述初始编码规范工具中针对所述样式编码方法新建第二规范文件,所述第二规范文件中用于保存所述样式编码方法的编码风格规范和编码质量规范。
5.根据权利要求4所述的方法,其特征在于,还包括:
响应于接收编码风格规范的修改指令和/或编码质量规范的修改指令,根据所述修改指令对所述第一规范文件和所述第二规范文件中保存的编码风格规范和/或编码质量规范进行修改。
6.根据权利要求1-5任一所述的方法,其特征在于,所述命令行配置文件中包括:设置的依赖包版本信息、读取配置的路径信息和设置的校验逻辑信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于所述开发项目对所述目标编码规范工具进行加载,确定所述开发项目中是否包括相关依赖包;
根据所述开发项目中是否包括相关依赖包,确定对所述开发项目执行初始化操作或更新操作。
8.一种编码规范工具的生成装置,其特征在于,包括:
工具初始化模块,用于为一个开发项目配置一个支持命令行操作的初始编码规范工具;
第一文件配置模块,用于在所述初始编码规范工具中针对至少两种编码方法新建至少两个规范文件;其中,每个所述规范文件用于保存一种编码方法的编码风格规范和编码质量规范;
第二文件配置模块,用于在所述初始编码规范工具中建立命令行配置文件,获得配置完成的目标编码规范工具;其中,所述命令行配置文件用于保存所述开发项目对应的操作逻辑。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的编码规范工具的生成方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7任一所述的编码规范工具的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910808281.6A CN110704025A (zh) | 2019-08-29 | 2019-08-29 | 编码规范工具的生成方法和装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910808281.6A CN110704025A (zh) | 2019-08-29 | 2019-08-29 | 编码规范工具的生成方法和装置、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704025A true CN110704025A (zh) | 2020-01-17 |
Family
ID=69193518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910808281.6A Pending CN110704025A (zh) | 2019-08-29 | 2019-08-29 | 编码规范工具的生成方法和装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704025A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488136A (zh) * | 2020-04-07 | 2020-08-04 | 携程旅游网络技术(上海)有限公司 | 持续集成和持续交付方法、系统、设备及存储介质 |
CN111522577A (zh) * | 2020-04-13 | 2020-08-11 | 京东数字科技控股有限公司 | 一种依赖包版本管理方法、装置、设备和存储介质 |
CN114217828A (zh) * | 2021-12-22 | 2022-03-22 | 四川启睿克科技有限公司 | 前端通用代码规范库配置方法及系统、装置、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783757A (zh) * | 2017-10-26 | 2018-03-09 | 福建中金在线信息科技有限公司 | 一种代码规范方法及装置 |
CN108459962A (zh) * | 2018-01-23 | 2018-08-28 | 平安普惠企业管理有限公司 | 代码规范性检测方法、装置、终端设备及存储介质 |
-
2019
- 2019-08-29 CN CN201910808281.6A patent/CN110704025A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107783757A (zh) * | 2017-10-26 | 2018-03-09 | 福建中金在线信息科技有限公司 | 一种代码规范方法及装置 |
CN108459962A (zh) * | 2018-01-23 | 2018-08-28 | 平安普惠企业管理有限公司 | 代码规范性检测方法、装置、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
佚名: "ESLint在中大型团队的应用实践", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/76697446》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488136A (zh) * | 2020-04-07 | 2020-08-04 | 携程旅游网络技术(上海)有限公司 | 持续集成和持续交付方法、系统、设备及存储介质 |
CN111522577A (zh) * | 2020-04-13 | 2020-08-11 | 京东数字科技控股有限公司 | 一种依赖包版本管理方法、装置、设备和存储介质 |
CN114217828A (zh) * | 2021-12-22 | 2022-03-22 | 四川启睿克科技有限公司 | 前端通用代码规范库配置方法及系统、装置、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US9038059B2 (en) | Automatically targeting application modules to individual machines and application framework runtimes instances | |
CN110704025A (zh) | 编码规范工具的生成方法和装置、存储介质、电子设备 | |
CN112764792B (zh) | 一种关联服务器版本应用升级方法、装置和电子设备 | |
CN111782523A (zh) | 云端服务部署测试方法、装置、电子设备和存储介质 | |
CN114115838A (zh) | 一种基于分布式组件和云平台的数据交互方法及系统 | |
CN113050984A (zh) | 资源调取方法、装置、电子设备及存储介质 | |
US10514940B2 (en) | Virtual application package reconstruction | |
CN113094085B (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
CN111147291B (zh) | 一种服务维护方法及装置 | |
CN111258618A (zh) | 文件配置方法、装置、计算机设备和存储介质 | |
US8615751B2 (en) | Seeding product information | |
CN113094086B (zh) | 组件集成方法、装置、计算机可读存储介质及电子设备 | |
US11030087B2 (en) | Systems and methods for automated invocation of accessibility validations in accessibility scripts | |
CN112395194B (zh) | 一种接入测试平台的方法和装置 | |
CN115291928A (zh) | 多种技术栈的任务自动集成方法、装置及电子设备 | |
CN112835609B (zh) | 一种修改依赖包下载地址的方法和装置 | |
CN110659062B (zh) | 前端脚手架的配置方法和装置、可读存储介质、电子设备 | |
CN113297081A (zh) | 一种持续集成流水线的执行方法和装置 | |
CN113779000B (zh) | 数据库更新方法和系统、以及存储介质和电子设备 | |
CN112882698A (zh) | 开发环境的生成方法及装置、计算机存储介质及电子设备 | |
US9870257B1 (en) | Automation optimization in a command line interface | |
CN115878125B (zh) | 生成类的扩展方法、装置、存储介质及电子设备 | |
CN111506320B (zh) | 装机方法、装机配置方法、装置及设备 | |
US20230259347A1 (en) | Container based generation of inputs for generic functions |
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 |