前端大型开源项目_在大型开源项目中管理问题
前端大型開(kāi)源項(xiàng)目
We’re honored by the amount of positive feedback we get from folks using Flutter. As one of the largest active repositories on GitHub, we have a relatively unique challenge and we thought you might find it interesting to learn our philosophy and approach to how we’re dealing with issues at this scale, what changes we’re making to deal with the project growth, and some helpful tips for filing issues to maximize their value.
我們很高興收到來(lái)自使用Flutter的人們的積極反饋。 作為GitHub上最大的活動(dòng)存儲(chǔ)庫(kù)之一,我們面臨一個(gè)相對(duì)獨(dú)特的挑戰(zhàn),我們認(rèn)為您可能會(huì)發(fā)現(xiàn)有趣的是了解我們的哲學(xué)和方法以了解我們?nèi)绾翁幚磉@種規(guī)模的問(wèn)題,正在做出哪些更改隨著項(xiàng)目的發(fā)展,以及一些有用的技巧,可以提出問(wèn)題以最大程度地發(fā)揮其價(jià)值。
Sometimes developers attempt to use the total number of public logged issues as a measure of the overall quality of the project. We think this number is poorly correlated with project health, and want to explain why, counter to expectation, a larger number of issues can be a signal of a high-quality, popular project.
有時(shí),開(kāi)發(fā)人員嘗試使用公開(kāi)記錄的問(wèn)題總數(shù)來(lái)衡量項(xiàng)目的整體質(zhì)量。 我們認(rèn)為該數(shù)字與項(xiàng)目運(yùn)行狀況的相關(guān)性很差,并想解釋為什么與預(yù)期相反,大量問(wèn)題可能是高質(zhì)量,受歡迎的項(xiàng)目的信號(hào)。
Lastly, we want to use this blog post to share some concrete changes we’ve made in recent months: more active scrubbing of our backlog, accomplishing (and holding to) zero-bug-bounce for unassigned issues, and a new prioritization scheme that better aligns with how we believe our customers think about priorities.
最后,我們想使用此博客文章來(lái)分享我們最近幾個(gè)月進(jìn)行的一些具體更改:更積極地清理積壓工作,完成(并保持)針對(duì)未分配問(wèn)題的零缺陷反彈以及新的優(yōu)先級(jí)排序方案更好地與我們認(rèn)為客戶對(duì)優(yōu)先事項(xiàng)的想法保持一致。
Flutter如何使用GitHub (How Flutter uses GitHub)
It’s common in today’s software development world for teams to keep a backlog of issues submitted both by team members and users: this backlog is the sum total of bugs, feature requests, and technical debt facing the team. Flutter is no different: we use GitHub as our backlog. If it’s a bug, an idea for a new feature, or something in between, it’s filed as an issue in our issue database on GitHub.
在當(dāng)今的軟件開(kāi)發(fā)世界中,團(tuán)隊(duì)經(jīng)常會(huì)積壓團(tuán)隊(duì)成員和用戶提交的問(wèn)題,這很普遍:此積壓是團(tuán)隊(duì)所面臨的bug,功能請(qǐng)求和技術(shù)債務(wù)的總和。 Flutter也不例外:我們使用GitHub作為待辦事項(xiàng)。 如果是錯(cuò)誤,新功能的想法或介于兩者之間的東西,則將其作為問(wèn)題提交到GitHub上的問(wèn)題數(shù)據(jù)庫(kù)中 。
Each of these issues starts with you, or one of Flutter’s contributors. Contributors and users file issues about Flutter or Flutter’s API documentation in the flutter/flutter issue tracker, and issues about Flutter’s website (flutter.dev) in the flutter/website issue tracker.
每個(gè)問(wèn)題都從您或Flutter的貢獻(xiàn)者之一開(kāi)始。 貢獻(xiàn)者和用戶在flutter / flutter問(wèn)題跟蹤器中提交有關(guān)Flutter或Flutter API文檔的問(wèn)題 ,并在flutter / website問(wèn)題跟蹤器中 提交有關(guān)Flutter網(wǎng)站( flutter.dev )的問(wèn)題 。
There are three special considerations about how we manage issues on GitHub, which contributes to a large overall number:
關(guān)于我們?nèi)绾卧贕itHub上處理問(wèn)題,有三個(gè)特殊的考慮因素,這些因素導(dǎo)致了很多問(wèn)題:
We use one repository for all issues except for those involving the developer toolchain and website. Issues with Android, iOS, Windows, web, macOS, and Linux; framework and engine; API documentation and plugins, are all logged in the same flutter/flutter repository.
除涉及開(kāi)發(fā)人員工具鏈和網(wǎng)站的問(wèn)題外,我們對(duì)所有問(wèn)題使用一個(gè)資源庫(kù)。 Android,iOS,Windows,Web,macOS和Linux的問(wèn)題; 框架和引擎; API文檔和插件都記錄在相同的Flutter / Flutter存儲(chǔ)庫(kù)中。
Flutter的分流過(guò)程 (Flutter’s triage process)
The flutter/flutter issues are triaged by a member of the team: perhaps a volunteer, or one of the folks at Nevercode who have been helping us with triage, or by a Google employee (or an employee of another company). In triage, we assign as many labels to the issue as we can.
顫動(dòng)/顫動(dòng)問(wèn)題由團(tuán)隊(duì)的一個(gè)成員進(jìn)行分類(lèi):也許是志愿者,或者是Nevercode中一直在幫助我們進(jìn)行分類(lèi)的人員中的一個(gè),或者由Google員工(或另一家公司的員工)進(jìn)行了分類(lèi)。 在分類(lèi)中,我們?yōu)閱?wèn)題分配了盡可能多的標(biāo)簽。
Some labels direct the issue for secondary triage. For example, the engine label directs the issue to the engine team for secondary triage. Other labels indicate additional attributes, such as whether the issue is a feature request or a possible enhancement to increase the team’s velocity (as I write this, there are over 500 issues with that label).
一些標(biāo)簽將問(wèn)題定向?yàn)檩o助分類(lèi)。 例如, 引擎標(biāo)簽將問(wèn)題定向到引擎團(tuán)隊(duì)進(jìn)行二次分類(lèi)。 其他標(biāo)簽指示其他屬性,例如問(wèn)題是功能請(qǐng)求還是可能的增強(qiáng)以提高團(tuán)隊(duì)速度(在我撰寫(xiě)本文時(shí), 該標(biāo)簽有500多個(gè)問(wèn)題 )。
Between primary and secondary triage, we also assign a priority label for issues filed against the code base or API documentation. Similar to other bug trackers, we use a ranked priority scheme, with priorities ranging from P0 to P6:
在主要分類(lèi)和次要分類(lèi)之間,我們還為根據(jù)代碼庫(kù)或API文檔提出的問(wèn)題分配了優(yōu)先級(jí)標(biāo)簽。 與其他錯(cuò)誤跟蹤器類(lèi)似,我們使用排名優(yōu)先級(jí)方案,優(yōu)先級(jí)范圍從P0到P6:
The P0 label indicates top-priority issues such as build breaks or severe performance regressions that must be addressed immediately.
P0標(biāo)簽指示必須立即解決的最高優(yōu)先級(jí)問(wèn)題,例如構(gòu)建中斷或嚴(yán)重的性能下降。
The P1 label indicates that the issue requires timely attention, such as breakage in a major feature used by the majority of our users, or an issue blocking a strategic partner. We aim to fix or remediate P1 bugs within the current milestone.
P1標(biāo)簽表示該問(wèn)題需要及時(shí)關(guān)注,例如,大多數(shù)用戶使用的主要功能出現(xiàn)故障,或者該問(wèn)題阻礙了戰(zhàn)略合作伙伴。 我們旨在修復(fù)或修復(fù)當(dāng)前里程碑內(nèi)的P1錯(cuò)誤。
The P2 label indicates major features or issues that affect a significant subset of our users. Like P1 issues, we aim to fix or remediate these within the current milestone.
P2標(biāo)簽表示影響我們大部分用戶的主要功能或問(wèn)題。 與P1問(wèn)題一樣,我們的目標(biāo)是在當(dāng)前里程碑內(nèi)修復(fù)或修復(fù)這些問(wèn)題。
The P3 label indicates an issue currently on our timeline for an upcoming release that is at the top of our work list. Many issues we are actively working on bear this label, and most should have a milestone indicating when we think they’ll land.
P3標(biāo)簽表示我們時(shí)間表上當(dāng)前存在的問(wèn)題,該問(wèn)題位于我們工作清單的頂部。 我們正在積極研究的許多問(wèn)題都帶有這個(gè)標(biāo)簽,并且大多數(shù)問(wèn)題都應(yīng)具有一個(gè)里程碑,指示我們何時(shí)認(rèn)為它們會(huì)降落。
The P4 label indicates issues that we agree are important to work on, but not at the top of the work list. This is the default level for bugs.
P4標(biāo)簽表示我們同意處理的重要問(wèn)題,但不在工作列表的頂部。 這是錯(cuò)誤的默認(rèn)級(jí)別。
The P5 label indicates issues we think are valid but not critical. This is the default level for new feature requests.
P5標(biāo)簽表示我們認(rèn)為有效但非關(guān)鍵的問(wèn)題。 這是新功能請(qǐng)求的默認(rèn)級(jí)別。
The P6 label indicates valid issues that are unlikely to ever be worked on, but kept open in the event that a contributor might want to tackle it.
P6標(biāo)簽表示不可能解決的有效問(wèn)題,但是在有貢獻(xiàn)者希望解決的情況下,這些問(wèn)題會(huì)一直公開(kāi)存在。
This schema is relatively new, replacing our three-axis system of committed milestones, `customer:` and `severe:` labels. In the process of establishing it, we auto-prioritized a large number of issues based on committed milestones and other labels.
這種模式是相對(duì)較新的,代替了我們的三軸承諾里程碑:“ customer:”和“ severe:”標(biāo)簽。 在建立過(guò)程中,我們根據(jù)已落實(shí)的里程碑和其他標(biāo)簽自動(dòng)為大量問(wèn)題確定了優(yōu)先級(jí)。
通過(guò)錯(cuò)誤計(jì)數(shù)來(lái)衡量質(zhì)量 (Measuring quality by bug count)
Because Flutter uses GitHub as a fully open issue tracker, with both bugs and feature requests, there’s no direct correlation between issue counts and product quality. Other open source projects, such as Chromium and TensorFlow, also developed fully in the open, have large issue counts as well. If anything, the large number of issues suggests that the project is active and vibrant as users engage in the product finding both bugs and things they’d like to improve.
因?yàn)镕lutter使用GitHub作為具有漏洞和功能請(qǐng)求的完全開(kāi)放的問(wèn)題跟蹤器,所以問(wèn)題計(jì)數(shù)與產(chǎn)品質(zhì)量之間沒(méi)有直接關(guān)聯(lián)。 其他開(kāi)放源代碼項(xiàng)目(例如Chromium和TensorFlow )也完全在開(kāi)放狀態(tài)下開(kāi)發(fā),發(fā)行量也很大。 如果有的話,大量的問(wèn)題表明,隨著用戶參與產(chǎn)品發(fā)現(xiàn)錯(cuò)誤和需要改進(jìn)的事情,該項(xiàng)目是活躍而充滿活力的。
It’s difficult to make apples-to-apples comparisons, though. Some projects proactively close open issues they’re not going to address; others keep their issue database in secret, and others use different projects for different kinds of issues. As already noted, we track feature enhancements and bugs in the same repository; we also use one repository across tools, Android, iOS, first-party plugins, and so forth.
不過(guò),很難進(jìn)行蘋(píng)果之間的比較。 一些項(xiàng)目主動(dòng)解決了他們不會(huì)解決的未解決問(wèn)題。 其他人將其問(wèn)題數(shù)據(jù)庫(kù)保密,其他人則針對(duì)不同類(lèi)型的問(wèn)題使用不同的項(xiàng)目。 如前所述,我們?cè)谕粋€(gè)存儲(chǔ)庫(kù)中跟蹤功能增強(qiáng)和錯(cuò)誤。 我們還跨工具,Android,iOS,第一方插件等使用一個(gè)存儲(chǔ)庫(kù)。
A better metric to gauge the health of an open-source project is to look at the number of issues closed vs. the number of issues currently open. As of this writing (early July 2020), we have 7,757 issues open and 32,485 issues closed. The rate of closure has increased over the last year, although has flattened somewhat in recent months:
衡量開(kāi)源項(xiàng)目運(yùn)行狀況的更好指標(biāo)是查看已解決問(wèn)題的數(shù)量與當(dāng)前已解決問(wèn)題的數(shù)量。 截至撰寫(xiě)本文時(shí)(2020年7月上旬),我們有7,757個(gè)期刊已發(fā)行,有32,485個(gè)期刊已關(guān)閉。 在過(guò)去的一年中,關(guān)閉率有所提高,盡管最近幾個(gè)月有所下降:
The dip in December is due to the holiday season; many contributors at Google and elsewhere take a vacation in that month. Regardless, the year-over-year average is 1314 issues closed, and if you look at the six-month average, you see that it’s considerably higher, at 1604 issues closed every month.
12月的下降是由于假期。 該月,Google和其他地方的許多貢獻(xiàn)者都休假了。 無(wú)論如何,與去年同期相比,平均有1314個(gè)問(wèn)題被關(guān)閉,如果您查看六個(gè)月的平均水平,您會(huì)發(fā)現(xiàn)它的平均值要高得多,每個(gè)月有1604個(gè)問(wèn)題。
了解我們的未解決問(wèn)題 (Understanding our open issues)
To get a better understanding of the kinds of issues we face, the Flutter leads recently took a random sample of 1,200 open issues and retriaged them. In the process, we learned the following:
為了更好地了解我們面臨的問(wèn)題,Flutter領(lǐng)導(dǎo)最近對(duì)1200個(gè)未解決問(wèn)題進(jìn)行了隨機(jī)抽樣,并對(duì)其進(jìn)行了重試。 在此過(guò)程中,我們了解了以下內(nèi)容:
- 32% of the issues filed came from core contributors on the project. Many of these are future work items, such as features, ways to improve the product, or improvements to our team’s tooling and infrastructure that would increase our own developer velocity. 提交的問(wèn)題中有32%來(lái)自該項(xiàng)目的核心貢獻(xiàn)者。 其中許多是未來(lái)的工作項(xiàng)目,例如功能,改進(jìn)產(chǎn)品的方法或?qū)ξ覀儓F(tuán)隊(duì)的工具和基礎(chǔ)結(jié)構(gòu)的改進(jìn),這將提高我們自己的開(kāi)發(fā)人員的速度。
- The average Flutter contributor filed 7.4 bugs, while the average user of Flutter who had filed any bugs had filed 1.2 bugs. Flutter貢獻(xiàn)者的平均提交了7.4個(gè)錯(cuò)誤,而Flutter提交了任何錯(cuò)誤的普通用戶都提交了1.2個(gè)錯(cuò)誤。
- Of the issues we examined, some 25% were either support requests, clearly unactionable, or otherwise no longer valid (i.e., subsequent work fixed the issue or new product directions made the concern of the issue obsolete), which we were able to close. 在我們檢查的問(wèn)題中,約有25%是支持請(qǐng)求,明顯無(wú)法采取行動(dòng)或已不再有效(即,后續(xù)工作解決了該問(wèn)題或新產(chǎn)品說(shuō)明使對(duì)該問(wèn)題的關(guān)注已過(guò)時(shí)),我們得以解決。
We’re continuing to work with Nevercode on grooming our backlog, both with recently filed issues and older issues. They have been very helpful in several ways:
無(wú)論是最近提交的問(wèn)題還是較舊的問(wèn)題,我們都將繼續(xù)與Nevercode一起整理積壓的訂單。 他們?cè)趲讉€(gè)方面都非常有幫助:
- They actively create reproducible code for issues, helping other engineers look for ways to fix bona fide bugs in Flutter. 他們積極地為問(wèn)題創(chuàng)建可重現(xiàn)的代碼,幫助其他工程師尋找方法來(lái)修復(fù)Flutter中的真實(shí)錯(cuò)誤。
- They deduplicate bugs, closing duplicates after crosslinking them. 他們對(duì)重復(fù)數(shù)據(jù)進(jìn)行重復(fù)數(shù)據(jù)刪除,并在交聯(lián)后關(guān)閉重復(fù)數(shù)據(jù)。
They close non-reproducible bugs, as well as requests for support (which should be directed to one of the channels listed at https://www.flutter.dev/community).
它們關(guān)閉了不可復(fù)制的錯(cuò)誤以及支持請(qǐng)求(應(yīng)將其定向到https://www.flutter.dev/community上列出的渠道之一)。
- They request additional information for unclear issues, closing those that are unactionable. 他們要求提供更多信息以解決不清楚的問(wèn)題,并關(guān)閉無(wú)法解決的問(wèn)題。
- As time permits, they help us cull our backlog of old issues, answering the same questions: Is it still an issue? Does it have a reproducible case? Is it a duplicate? 在時(shí)間允許的情況下,它們可以幫助我們消除積壓的舊問(wèn)題,并回答相同的問(wèn)題:這仍然是問(wèn)題嗎? 有可復(fù)制的包裝盒嗎? 它是重復(fù)的嗎?
Together, we’ve learned some interesting things about the issues people file: Over the last two months, fully 55% of the issues filed don’t meet our criteria — they’re either requests for support or don’t have reproducible cases.
在一起,我們已經(jīng)了解到有關(guān)人員提出的問(wèn)題的一些有趣的事情:在過(guò)去的兩個(gè)月中,提交的問(wèn)題中有55%完全不符合我們的標(biāo)準(zhǔn)-它們是請(qǐng)求支持或沒(méi)有可復(fù)制的案例。
For older issues, the Nevercode team has found that fewer issues were invalid or duplicated, likely explained by survivorship bias (issues that survive previous triages are likely not invalid or duplicate issues). Nonetheless, in their sample, 18% of the issues were invalid (either support requests or unactionable), and another 15% were duplicates. The lion’s share — up to 50% — reflects issues that have been subsequently addressed, suggesting that we can do a better job closing old issues as we add functionality and fix bugs.
對(duì)于較舊的問(wèn)題,Nevercode團(tuán)隊(duì)發(fā)現(xiàn)無(wú)效或重復(fù)的問(wèn)題較少,這很可能是由于生存偏差(在以前的分類(lèi)中幸存的問(wèn)題可能不是無(wú)效或重復(fù)的問(wèn)題)。 但是,在他們的樣本中,有18%的問(wèn)題無(wú)效(支持請(qǐng)求或無(wú)法采取行動(dòng)),另有15%的問(wèn)題是重復(fù)的。 最多的份額-高達(dá)50%-反映了隨后已解決的問(wèn)題,這表明我們?cè)谔砑庸δ芎托迯?fù)錯(cuò)誤時(shí)可以更好地解決舊問(wèn)題。
發(fā)行優(yōu)先級(jí) (Issue prioritization)
As of this writing (early July 2020), here’s the breakdown of P0-P2 issues:
在撰寫(xiě)本文時(shí)(2020年7月上旬),這是P0-P2問(wèn)題的細(xì)分:
This chart shows a healthy number of issues that we’re actually working on with urgency. As you’d expect from a popular open-source project, there are a lot of other pieces of feedback in our issue database: here’s the breakdown of P3-P6 issues:
此圖顯示了我們正在緊急處理的大量健康問(wèn)題。 正如您希望從一個(gè)受歡迎的開(kāi)源項(xiàng)目中得到的那樣,我們的問(wèn)題數(shù)據(jù)庫(kù)中還有很多其他反饋:這是P3-P6問(wèn)題的細(xì)分:
The team is actively working on many of the P3 issues, as well as the higher-priority P0-P2 issues.
團(tuán)隊(duì)正在積極處理許多P3問(wèn)題以及優(yōu)先級(jí)較高的P0-P2問(wèn)題。
We still have a historical backlog of triaged unprioritized issues. Of these, we believe that most will likely fall into the P5 or P6 category, because as part of Nevercode’s triage efforts, they’ve escalated those that deserve immediate attention.
我們?nèi)匀挥形捶诸?lèi)優(yōu)先級(jí)問(wèn)題的歷史積壓。 在這些代碼中,我們認(rèn)為大多數(shù)都可能屬于P5或P6類(lèi)別,因?yàn)樽鳛镹evercode分流工作的一部分,它們已將那些值得立即關(guān)注的問(wèn)題升級(jí)。
Just because an issue makes it to secondary triage does not mean that the core engineering team has bandwidth to work on it. In secondary triage, we look at several things to determine what to do with an issue, including:
僅僅因?yàn)橐粋€(gè)問(wèn)題導(dǎo)致了二次分類(lèi),并不意味著核心工程團(tuán)隊(duì)有足夠的帶寬來(lái)處理它。 在次級(jí)分類(lèi)中,我們著眼于確定問(wèn)題的幾件事,包括:
- What other work have we committed to? 我們還致力于其他哪些工作?
- How severe an issue is this? 這有多嚴(yán)重?
- How many people does it affect? 它會(huì)影響多少人?
- Is this issue for a specific customer? 這是特定客戶的問(wèn)題嗎?
- How does working on this issue affect our roadmap and architecture? 解決此問(wèn)題如何影響我們的路線圖和體系結(jié)構(gòu)?
For details on how we accomplish this, you can see our previous blog post on the topic, “Issues, Bugs, and Backlogs”.
有關(guān)我們?nèi)绾瓮瓿纱瞬僮鞯脑敿?xì)信息,您可以查看我們以前的博客文章,主題為“問(wèn)題,錯(cuò)誤和積壓 ”。
您將如何提供幫助 (How you can help)
The Flutter issue database on GitHub isn’t just the team’s issue database, it’s the issue database for our entire community, so we all need to play a part in its health. Here are some things we can all do to help keep a check on the quality of issues in the database:
GitHub上的Flutter問(wèn)題數(shù)據(jù)庫(kù)不僅僅是團(tuán)隊(duì)的問(wèn)題數(shù)據(jù)庫(kù),它還是我們整個(gè)社區(qū)的問(wèn)題數(shù)據(jù)庫(kù),因此我們所有人都需要發(fā)揮其健康作用。 我們可以做一些事情來(lái)幫助檢查數(shù)據(jù)庫(kù)中問(wèn)題的質(zhì)量:
Don’t file an issue for support requests. Support requests should be raised in one of the channels we describe at https://flutter.dev/community. We actively close requests for support raised on GitHub.
不要提出支持請(qǐng)求的問(wèn)題。 支持請(qǐng)求應(yīng)通過(guò)我們?cè)趆ttps://flutter.dev/community中描述的一種渠道提出。 我們正在積極關(guān)閉在GitHub上提出的支持請(qǐng)求。
File issues in the appropriate database: Flutter bugs, API documentation bugs, and feature requests in the flutter/flutter issue tracker, and feedback about the Flutter website or codelabs in the flutter/website issue tracker.
在適當(dāng)?shù)臄?shù)據(jù)庫(kù)中記錄文件問(wèn)題:Flutter / Flutter 問(wèn)題跟蹤器中的Flutter錯(cuò)誤,API文檔錯(cuò)誤和功能請(qǐng)求,以及Flutter / Website問(wèn)題跟蹤器中有關(guān)Flutter網(wǎng)站或代碼實(shí)驗(yàn)室的反饋。
- When filing an issue, search to see if one already exists for the issue you’re having. If so, upvote it and comment if appropriate. The development team uses upvotes as a measure of interest when ranking issues for future work. 提交問(wèn)題時(shí),搜索以查看您所遇到的問(wèn)題是否已經(jīng)存在。 如果是這樣,請(qǐng)對(duì)其進(jìn)行投票,并在適當(dāng)?shù)臅r(shí)候發(fā)表評(píng)論。 在對(duì)未來(lái)工作的問(wèn)題進(jìn)行排名時(shí),開(kāi)發(fā)團(tuán)隊(duì)會(huì)使用upvotes作為關(guān)注度。
- Cross-linking is good! Feel free to crosslink related issues, either when filing new issues or when upvoting an issue you’ve encountered. Like upvoting, the team uses crosslinks in their investigations, and there’s a good chance that you see a relationship that others have missed. 交聯(lián)是好的! 在提交新問(wèn)題或?qū)τ龅降膯?wèn)題進(jìn)行投訴時(shí),可以自由地交叉鏈接相關(guān)的問(wèn)題。 就像投票一樣,團(tuán)隊(duì)在調(diào)查中使用交叉鏈接,很可能您會(huì)看到其他人錯(cuò)過(guò)的關(guān)系。
- Make sure that your bug contains everything the team needs to reproduce it. A minimally reproducible case is crucial for the team to be able to quickly get to the root of a bug. Explaining why a feature is important makes it more likely that the team will prioritize the work quickly. 確保您的錯(cuò)誤包含團(tuán)隊(duì)需要復(fù)制的所有內(nèi)容。 對(duì)于團(tuán)隊(duì)來(lái)說(shuō),最小的可重復(fù)性案例對(duì)于快速找到錯(cuò)誤根源至關(guān)重要。 解釋功能為何如此重要的原因使團(tuán)隊(duì)更有可能迅??速確定工作的優(yōu)先級(jí)。
Consider helping the triage effort. See a bug you have time to reproduce? Try reproducing it on the latest stable and master, and let us know if it’s still a problem. See a related issue? Crosslink it. Want to write some code? Submit a PR with a unit test exhibiting the issue, or better yet, a unit test with a fix for the issue. We welcome help on managing issues, so if you’d like to help, see our contributing guide for detailed information on how you can join us in the triage process.
考慮幫助分類(lèi)工作。 看到您有時(shí)間重現(xiàn)的錯(cuò)誤嗎? 嘗試在最新的馬stable和母版上重現(xiàn)它,并告訴我們是否仍然存在問(wèn)題。 看到相關(guān)問(wèn)題? 交聯(lián)它。 想寫(xiě)一些代碼嗎? 提交包含問(wèn)題的單元測(cè)試的PR,或者更好的是,提交帶有問(wèn)題修復(fù)程序的單元測(cè)試。 我們歡迎您提供有關(guān)處理問(wèn)題的幫助,因此,如果您想提供幫助,請(qǐng)參閱我們的幫助指南,以詳細(xì)了解如何加入我們的分診流程。
Speaking for those working on Flutter, we’re in awe of the support you continue to give us in our vision to build ways to bring beautiful, performant applications to your users. Thanks so much for all that you do!
對(duì)于那些在Flutter上工作的人來(lái)說(shuō),我們對(duì)您繼續(xù)提供給我們的支持感到敬畏,我們將繼續(xù)為我們構(gòu)想為用戶提供美觀,高性能的應(yīng)用程序的方法。 非常感謝您所做的一切!
翻譯自: https://medium.com/flutter/managing-issues-in-a-large-scale-open-source-project-b3be6eecae2b
前端大型開(kāi)源項(xiàng)目
總結(jié)
以上是生活随笔為你收集整理的前端大型开源项目_在大型开源项目中管理问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JAVA8~17新特性
- 下一篇: 前端实习生上岗第一天