CN113342316B - 面向开源平台的开放式任务声明和关联方法、装置和设备 - Google Patents
面向开源平台的开放式任务声明和关联方法、装置和设备 Download PDFInfo
- Publication number
- CN113342316B CN113342316B CN202110679396.7A CN202110679396A CN113342316B CN 113342316 B CN113342316 B CN 113342316B CN 202110679396 A CN202110679396 A CN 202110679396A CN 113342316 B CN113342316 B CN 113342316B
- Authority
- CN
- China
- Prior art keywords
- request
- pull
- statement
- occupation
- developer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012544 monitoring process Methods 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 5
- 238000012552 review Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims 1
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种面向开源平台的开放式任务声明和关联方法、装置、计算机设备和存储介质。所述方法包括:通过获取开发者对当前任务声明按钮的点击指令,弹出弹窗;根据开发者在弹窗中输入的针对当前任务的解决思路和解决步骤,初始化并生成一个基于模板的占位Pull‑request;将占位Pull‑request以声明条目的形式展示在预设的声明列表中;每个声明条目绑定一个动态时间戳;监听获取占位Pull‑request的动态更新,将动态更新关联到对应的声明条目中。本发明通过开放式的任务声明和关联方法,提高了开源社区中群体协同软件开发的效率和实用性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种面向开源平台的开放式任务声明和关联方法、装置、计算机设备和存储介质。
背景技术
开源社区的群体自主协同过程具有显著的开放性和自由性,开发者以自组织和自指派的形式参与开源贡献。在一个开源软件社区中,对于某一个开发任务(即软件项目发布的issue),任何感兴趣的开发者都可以参与讨论,并为其提交解决方案(即Pull-request),而当多个开发者都对同一个issue感兴趣时,他们有可能在无意识的情况下提交的重复的Pull-request,在后续的代码测试和代码审查过程中造成冗余的资源耗费,严重影响了软件协同开发的效率。
目前在GitHub上具有给issue指派“assignee”的功能,但是这个操作具有权限限制,只有项目管理者才能给一个issue指派“assignee”,而社区外部开发者无法完成此操作,他们往往需要在issue讨论界面通过评论的方式声明自己的意图。在有些项目自己搭建的缺陷管理系统虽然允许外部开发者指派自己,但是这种指派是排他性的,即一个issue无法同时被多个人指派。现有技术存在效率低、实用性不佳的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高任务声明实用性的面向开源平台的开放式任务声明和关联方法、装置、计算机设备和存储介质。
一种面向开源平台的开放式任务声明和关联方法,所述方法包括:
获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;
根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;
监听获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
在其中一个实施例中,还包括:判断所述开发者是否拥有当前仓库的fork仓库,若没有,为所述开发者创建fork仓库;
在所述fork仓库中创建特性分支;
基于所述特性分支创建一个基于模板的占位Pull-request;所述模板包括Pull-request的标题模板和详细介绍模板;
根据所述开发者在所述弹窗中输入的内容,生成一个基于模板的占位Pull-request。
在其中一个实施例中,还包括:根据所述占位Pull-request得到对应的声明条目;
所述声明列表中的声明条目包括三个展示属性:所述开发者的用户名、声明时间以及所述占位Pull-request的最新动态和最新动态发生的时间;
每个所述声明条目绑定一个动态时间戳;以所述声明时间为所述动态时间戳的初始时间,以所述最新动态发生的时间为所述动态时间戳的更新时间;
根据所述动态时间戳将所述声明列表中的声明条目排序,最新更新的声明条目排在最上。
在其中一个实施例中,还包括:将所述占位Pull-request以声明条目的形式展示在预设的声明列表中之后,通过点击所述声明条目跳转到对应的占位Pull-request。
在其中一个实施例中,还包括:监听占位Pull-request描述更新事件、占位Pull-request审查更新事件和占位Pull-request代码更新事件,获取所述占位Pull-request的动态更新;
将所述动态更新关联到对应的声明条目中。
在其中一个实施例中,还包括:所述占位Pull-request描述更新事件对应的动态更新包括:占位Pull-request的标题被更新、占位Pull-request的描述被更新;
所述占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request收到新的审查意见,占位Pull-request有新的测试结果;
所述占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request有新的提交,占位Pull-request的代码被force-push。
在其中一个实施例中,还包括:所述声明列表和所述声明按钮位于所述当前任务的讨论界面。
一种面向开源平台的开放式任务声明和关联装置,所述装置包括:
任务声明启动模块,用于获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;
占位Pull-request初始化模块,用于根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
任务声明展示模块,用于将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;
动态更新模块,用于监听获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;
根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;
监听获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;
根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;
监听获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
上述面向开源平台的开放式任务声明和关联方法、装置、计算机设备和存储介质,通过获取开发者对当前任务声明按钮的点击指令,弹出弹窗;根据开发者在弹窗中输入的针对当前任务的解决思路和解决步骤,初始化并生成一个基于模板的占位Pull-request;将占位Pull-request以声明条目的形式展示在预设的声明列表中;每个声明条目绑定一个动态时间戳;监听获取占位Pull-request的动态更新,将动态更新关联到对应的声明条目中。本发明实现了基于按钮的开放式任务声明,任何感兴趣的开发者都可以一键声明,通过基于动态时间戳的集中式的声明展示以及事件监听的全过程式的进度关联,实现方案的最新动态实时关联并更新到任务的声明列表中,让开发者更高效地发现对同一个任务感兴趣的开发者有哪些,以及其最新动态。本发明通过开放式的任务声明和关联方法,提高了开源社区中群体协同软件开发的效率和实用性。
附图说明
图1为一个实施例中面向开源平台的开放式任务声明和关联方法的流程示意图;
图2为另一个实施例中面向开源平台的开放式任务声明和关联方法的流程示意图;
图3为一个实施例中面向开源平台的开放式任务声明和关联装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的面向开源平台的开放式任务声明和关联方法,可以应用于如图1所示的应用环境中。其中,终端执行一种面向开源平台的开放式任务声明和关联方法,通过获取开发者对当前任务声明按钮的点击指令,弹出弹窗;根据开发者在弹窗中输入的针对当前任务的解决思路和解决步骤,初始化并生成一个基于模板的占位Pull-request;将占位Pull-request以声明条目的形式展示在预设的声明列表中;每个声明条目绑定一个动态时间戳;监听获取占位Pull-request的动态更新,将动态更新关联到对应的声明条目中。其中,终端可以但不限于是各种个人计算机、笔记本电脑和平板电脑。
在一个实施例中,如图1所示,提供了一种面向开源平台的开放式任务声明和关联方法,包括以下步骤:
步骤102,获取开发者对当前任务声明按钮的点击指令,弹出弹窗。
开源社区又称开放源代码社区,一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码的网络平台,同时也为网络成员提供一个自由学习交流的空间。由于开放源码软件主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径,因此开源社区在推动开源软件发展的过程中起着巨大的作用。
本发明的开源平台在任务(issue)讨论界面为该机制开辟一块区域,其中包括一个“声明”按钮,任何感兴趣的开发者通过点击此按钮启动任务声明过程。
步骤104,根据开发者在弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request。
声明按钮被点击后,弹出弹窗,请求开发者输入自己计划的解决思路和解决步骤,开发者输入完毕点击确定按钮后,自动生成一个空的占位Pull-request。模板中包括请求开发者输入的针对当前任务的解决思路和解决步骤。
步骤106,将占位Pull-request以声明条目的形式展示在预设的声明列表中。
占位Pull-request被初始化后,意味着任务的成功声明,该声明会被加入到声明列表并进行动态展示,每个声明条目绑定一个动态时间戳,该列表以此时间戳排序,最近的排在最上面。
步骤108,监听获取占位Pull-request的动态更新,将动态更新关联到对应的声明条目中。
对于一个issue,平台实时监听其所有占位Pull-request的动态,每当检测到某个占位Pull-request有新的事件发生时,平台自动把issue声明列表中对应的声明条目的相关信息进行关联更新。
上述面向开源平台的开放式任务声明和关联方法中,通过获取开发者对当前任务声明按钮的点击指令,弹出弹窗;根据开发者在弹窗中输入的针对当前任务的解决思路和解决步骤,初始化并生成一个基于模板的占位Pull-request;将占位Pull-request以声明条目的形式展示在预设的声明列表中;每个声明条目绑定一个动态时间戳;监听获取占位Pull-request的动态更新,将动态更新关联到对应的声明条目中。本发明实现了基于按钮的开放式任务声明,任何感兴趣的开发者都可以一键声明,通过基于动态时间戳的集中式的声明展示以及事件监听的全过程式的进度关联,实现方案的最新动态实时关联并更新到任务的声明列表中,让开发者更高效地发现对同一个任务感兴趣的开发者有哪些,以及其最新动态。本发明通过开放式的任务声明和关联方法,提高了开源社区中群体协同软件开发的效率和实用性。
在其中一个实施例中,还包括:判断开发者是否拥有当前仓库的fork仓库,若没有,为开发者创建fork仓库;在fork仓库中创建特性分支;其分支名字为基于模板自动生成,模板为“[issue编号]”,[issue编号]为正在被声明的issue的编号;基于特性分支创建一个基于模板的占位Pull-request;模板包括Pull-request的标题模板和详细介绍模板,其标题和详细介绍基于模板自动生成,其标题模板为“Planned PR:claim solve issue[issue编号]”,其中的[issue编号]为正在被声明的issue的编号;其详细介绍模板为
“Implementation direction:[总的方向]
Steps:
-[步骤1]
-[步骤2]
-[步骤**]”
其中的[总的方向]为开发者输入的解决思路,[步骤1]等为开发和输入的具体解决步骤;根据开发者在弹窗中输入的内容,生成一个基于模板的占位Pull-request。
在其中一个实施例中,还包括:根据占位Pull-request得到对应的声明条目;声明列表中的声明条目包括三个展示属性:开发者的用户名、声明时间以及占位Pull-request的最新动态和最新动态发生的时间;每个声明条目绑定一个动态时间戳;以声明时间为动态时间戳的初始时间,以最新动态发生的时间为动态时间戳的更新时间;根据动态时间戳将声明列表中的声明条目排序,最新更新的声明条目排在最上。
在其中一个实施例中,还包括:将占位Pull-request以声明条目的形式展示在预设的声明列表中之后,通过点击声明条目跳转到对应的占位Pull-request。
在其中一个实施例中,还包括:监听占位Pull-request描述更新事件、占位Pull-request审查更新事件和占位Pull-request代码更新事件,获取占位Pull-request的动态更新;将动态更新关联到对应的声明条目中。
在其中一个实施例中,还包括:占位Pull-request描述更新事件对应的动态更新包括:占位Pull-request的标题(title)被更新、占位Pull-request的描述被更新;占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request收到新的审查意见,占位Pull-request有新的测试结果;占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request有新的提交(commit),占位Pull-request的代码被force-push。
在其中一个实施例中,还包括:声明列表和声明按钮位于当前任务的讨论界面。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个具体实施例中,如图2所示,提供了一种面向开源平台的开放式任务声明和关联方法,包括:
S1:基于按钮的任务声明启动
平台在issue讨论界面为该机制开辟一块区域,其中包括一个“声明”按钮,任何感兴趣的开发者通过点击此按钮启动任务声明过程。
S2:基于模板的占位Pull-request的自动初始化
声明按钮被点击后,弹出弹窗,请求开发者输入自己计划的解决思路和解决步骤,开发者输入完毕点击确定按钮后,自动生成一个空的占位PR,其具体步骤包括:
S2.1平台判断开发者是否具有了该项目的fork仓库,如没有则自动为其创建fork仓库;
S2.2平台自动在fork仓库中创建特性分支,其分支名字为基于模板自动生成,模板为“[issue编号]”,[issue编号]为正在被声明的issue的编号;
S2.3平台基于特性分支自动创建一个占位Pull-request,其代码更改内容为空,其标题和详细介绍基于模板自动生成,其标题模板为“Planned PR:claim solve issue[issue编号]”,其中的[issue编号]为正在被声明的issue的编号;其详细介绍模板为
“Implementation direction:[总的方向]
Steps:
-[步骤1]
-[步骤2]
-[步骤**]”
其中的[总的方向]为开发者输入的解决思路,[步骤1]等为开发和输入的具体解决步骤。
S2.4平台允许开发者空输入,直接生成占位Pull-request
S3:基于动态时间戳的集中式的任务声明展示
占位Pull-request被初始化后,意味着任务的成功声明,该声明会被加入到声明列表并进行动态展示:
S3.1所有的声明被加入到声明按钮下方的声明列表中,声明列表中的每个条目有三个展示属性,即开发者的用户名、声明时间以及占位Pull-request的最新动态和最新动态发生的时间。
S3.2平台为列表中每个条目都绑定一个动态时间戳,该列表以此时间戳排序,最近的排在最上面。动态时间戳初始值为声明时间,其后为占位Pull-request的最新动态的发生时间。
S3.3.任何开发者通过点击声明条目自动跳转到关联到占位Pull-request。
S4:基于事件监听的全过程式的进度关联
开发者在占位Pull-request上做的所有更新都将会被关联到声明列表中:
S4.1平台预设3类事件,分别对应占位Pull-request的4种动态更新类型:占位Pull-request描述更新事件(占位Pull-request的title被更新、占位Pull-request的描述被更新)、占位Pull-request审查更新事件(占位Pull-request收到新的审查意见,占位Pull-request有新的测试结果)、占位Pull-request代码更新事件(占位Pull-request有新的commit,占位Pull-request的代码被force-push)。
S4.2对于一个issue,平台实时监听其所有占位Pull-request的动态,每当检测到某个占位Pull-request有新的事件发生时,平台自动把issue声明列表中对应的声明条目的相关信息进行关联更新。
在开源社区中进行群体协同软件开发的场景下,通过提出的开放式任务声明机制增强开发者之间的感知,避免多个开发者在无意识的情况下提交重复的代码贡献。
在一个实施例中,如图3所示,提供了一种面向开源平台的开放式任务声明和关联装置,包括:任务声明启动模块302、占位Pull-request初始化模块304、任务声明展示模块306和动态更新模块308,其中:
任务声明启动模块302,用于获取开发者对当前任务声明按钮的点击指令,弹出弹窗;声明按钮是预先设置的;
占位Pull-request初始化模块304,用于根据开发者在弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;模板中包括请求开发者输入的针对当前任务的解决思路和解决步骤;
任务声明展示模块306,用于将占位Pull-request以声明条目的形式展示在预设的声明列表中;每个声明条目绑定一个动态时间戳;
动态更新模块308,用于监听获取占位Pull-request的动态更新,将动态更新关联到对应的声明条目中。
占位Pull-request初始化模块304还用于判断开发者是否拥有当前仓库的fork仓库,若没有,为开发者创建fork仓库;在fork仓库中创建特性分支;基于特性分支创建一个基于模板的占位Pull-request;模板包括Pull-request的标题模板和详细介绍模板;根据开发者在弹窗中输入的内容,生成一个基于模板的占位Pull-request。
任务声明展示模块306还用于根据占位Pull-request得到对应的声明条目;声明列表中的声明条目包括三个展示属性:开发者的用户名、声明时间以及占位Pull-request的最新动态和最新动态发生的时间;每个声明条目绑定一个动态时间戳;以声明时间为动态时间戳的初始时间,以最新动态发生的时间为动态时间戳的更新时间;根据动态时间戳将声明列表中的声明条目排序,最新更新的声明条目排在最上。
任务声明展示模块还用于将占位Pull-request以声明条目的形式展示在预设的声明列表中之后,通过点击声明条目跳转到对应的占位Pull-request。
动态更新模块308还用于监听占位Pull-request描述更新事件、占位Pull-request审查更新事件和占位Pull-request代码更新事件,获取占位Pull-request的动态更新;将动态更新关联到对应的声明条目中。
关于面向开源平台的开放式任务声明和关联装置的具体限定可以参见上文中对于面向开源平台的开放式任务声明和关联方法的限定,在此不再赘述。上述面向开源平台的开放式任务声明和关联装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种面向开源平台的开放式任务声明和关联方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种面向开源平台的开放式任务声明和关联方法,其特征在于,所述方法包括:
获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;所述声明按钮位于所述当前任务的讨论界面;
根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;所述声明列表位于所述当前任务的讨论界面;所述声明条目的展示属性包括所述占位Pull-request的最新动态;其中,任何开发者能够通过点击声明条目自动跳转到关联的占位Pull-request;
监听占位Pull-request描述更新事件、占位Pull-request审查更新事件和占位Pull-request代码更新事件,获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request,包括:
判断所述开发者是否拥有当前仓库的fork仓库,若没有,为所述开发者创建fork仓库;
在所述fork仓库中创建特性分支;
基于所述特性分支创建一个基于模板的占位Pull-request;所述模板包括Pull-request的标题模板和详细介绍模板;
根据所述开发者在所述弹窗中输入的内容,生成一个基于模板的占位Pull-request。
3.根据权利要求2所述的方法,其特征在于,将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳,包括:
根据所述占位Pull-request得到对应的声明条目;
所述声明列表中的声明条目包括三个展示属性:所述开发者的用户名、声明时间以及所述占位Pull-request的最新动态和最新动态发生的时间;
每个所述声明条目绑定一个动态时间戳;以所述声明时间为所述动态时间戳的初始时间,以所述最新动态发生的时间为所述动态时间戳的更新时间;
根据所述动态时间戳将所述声明列表中的声明条目排序,最新更新的声明条目排在最上。
4.根据权利要求3所述的方法,其特征在于,将所述占位Pull-request以声明条目的形式展示在预设的声明列表中之后还包括:
通过点击所述声明条目跳转到对应的占位Pull-request。
5.根据权利要求4所述的方法,其特征在于,所述占位Pull-request描述更新事件对应的动态更新包括:占位Pull-request的标题被更新、占位Pull-request的描述被更新;
所述占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request收到新的审查意见,占位Pull-request有新的测试结果;
所述占位Pull-request代码更新事件对应的动态更新包括:占位Pull-request有新的提交,占位Pull-request的代码被force-push。
6.一种面向开源平台的开放式任务声明和关联装置,其特征在于,所述装置包括:
任务声明启动模块,用于获取开发者对当前任务声明按钮的点击指令,弹出弹窗;所述声明按钮是预先设置的;所述声明按钮位于所述当前任务的讨论界面;
占位Pull-request初始化模块,用于根据所述开发者在所述弹窗中输入的内容,初始化并生成一个基于模板的占位Pull-request;所述模板中包括请求开发者输入的针对所述当前任务的解决思路和解决步骤;
任务声明展示模块,用于将所述占位Pull-request以声明条目的形式展示在预设的声明列表中;每个所述声明条目绑定一个动态时间戳;所述声明列表位于所述当前任务的讨论界面;所述声明条目的展示属性包括所述占位Pull-request的最新动态;其中,任何开发者能够通过点击声明条目自动跳转到关联的占位Pull-request;
动态更新模块,用于监听占位Pull-request描述更新事件、占位Pull-request审查更新事件和占位Pull-request代码更新事件,获取所述占位Pull-request的动态更新,将所述动态更新关联到对应的声明条目中。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679396.7A CN113342316B (zh) | 2021-06-18 | 2021-06-18 | 面向开源平台的开放式任务声明和关联方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679396.7A CN113342316B (zh) | 2021-06-18 | 2021-06-18 | 面向开源平台的开放式任务声明和关联方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342316A CN113342316A (zh) | 2021-09-03 |
CN113342316B true CN113342316B (zh) | 2024-04-30 |
Family
ID=77477384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679396.7A Active CN113342316B (zh) | 2021-06-18 | 2021-06-18 | 面向开源平台的开放式任务声明和关联方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342316B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105913323A (zh) * | 2016-05-06 | 2016-08-31 | 浙江大学 | 一种GitHub开源社区的PullRequest评审者推荐方法 |
CN111061549A (zh) * | 2019-12-03 | 2020-04-24 | 西安闻泰电子科技有限公司 | 基于安卓的多任务管理方法、智能终端及存储介质 |
-
2021
- 2021-06-18 CN CN202110679396.7A patent/CN113342316B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105913323A (zh) * | 2016-05-06 | 2016-08-31 | 浙江大学 | 一种GitHub开源社区的PullRequest评审者推荐方法 |
CN111061549A (zh) * | 2019-12-03 | 2020-04-24 | 西安闻泰电子科技有限公司 | 基于安卓的多任务管理方法、智能终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113342316A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rausch et al. | Towards a serverless platform for edge {AI} | |
US11531909B2 (en) | Computer system and method for machine learning or inference | |
US8689131B2 (en) | Visual creation of computer-based workflows | |
US8549483B1 (en) | Engine for scalable software testing | |
JP2018509709A (ja) | 知識集約型データ処理システム | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
Shahid et al. | Towards Resilient Method: An exhaustive survey of fault tolerance methods in the cloud computing environment | |
CN113076104A (zh) | 页面生成方法、装置、设备及存储介质 | |
US8930903B2 (en) | Determining deltas in a spatial locality of a function call graph in a source controlled system | |
Kim et al. | Performance analytic models and analyses for workflow architectures | |
Pradhan et al. | Modelling software reliability growth through generalized inflection S-shaped fault reduction factor and optimal release time | |
US20070061701A1 (en) | Input suggestions based on prior business process consequences | |
US20110047150A1 (en) | Methods and systems for global knowledge sharing to provide corrective maintenance | |
CN110866011B (zh) | 数据表同步方法、装置、计算机设备和存储介质 | |
Chatterjee et al. | Change point–based software reliability model under imperfect debugging with revised concept of fault dependency | |
Abidi et al. | Behind the scenes: developers' perception of multi-language practices | |
Wang et al. | Large-scale intent analysis for identifying large-review-effort code changes | |
Price et al. | Enabling collaborative governance of medical AI | |
CN113342316B (zh) | 面向开源平台的开放式任务声明和关联方法、装置和设备 | |
CN111934937B (zh) | 基于重要性迭代的相依网络节点重要度评估方法和装置 | |
CN112699038A (zh) | 版本测试方法、装置、系统和计算机设备 | |
CN111857920A (zh) | 弹窗处理方法、装置、计算机设备及存储介质 | |
CN111639025A (zh) | 一种软件测试方法、装置、电子设备及存储介质 | |
CN113901114A (zh) | 数据展示方法、装置、电子设备及存储介质 | |
Fredlund et al. | A testing-based approach to ensure the safety of shared resource concurrent systems |
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 |