# 問題報告{#issue-reporting} 身為 Tuist 的使用者,您可能會遇到 bug 或意想不到的行為。如果您遇到了,我們鼓勵您報告這些問題,以便我們進行修復。 ## GitHub issues 是我們的票單平台{#github-issues-is-our-ticketing-platform} 問題應該在 GitHub 上以 [GitHub issues](https://github.com/tuist/tuist/issues) 的方式報告,而不是在 Slack 或其他平台上。GitHub 更適合追蹤和管理問題,也更接近程式碼庫,讓我們可以追蹤問題的進度。此外,它鼓勵對問題進行長篇描述,迫使報告者思考問題,並提供更多上下文。 ## 背景是關鍵{#context-is-crucial} 沒有足夠上下文的問題將被視為不完整,作者將被要求提供額外的上下文。如果沒有提供,問題將被關閉。這樣想:您提供的上下文越多,我們就越容易了解問題並修復它。因此,如果您希望問題獲得修復,請儘可能提供更多內容。嘗試回答下列問題: - 你想做什麼? - 您的圖表看起來如何? - 您使用的是什麼版本的 Tuist? - 這會阻礙您嗎? 我們也要求您提供最少**可重複的專案** 。 ## 可重複的專案{#reproducible-project} ### 什麼是可重複專案?{#what-is-a-reproducible-project} 可重複專案是一個小型的 Tuist 專案,用來展示一個問題 - 通常這個問題是由 Tuist 中的 bug 所引起的。您的可重現專案應包含清楚展示錯誤所需的最基本功能。 ### 為什麼要建立可重複的測試案例?{#why-should-you-create-a-reproducible-test-case} 可重複的專案可讓我們隔離問題的起因,這是修正問題的第一步!任何錯誤報告最重要的部分是描述重現錯誤所需的確切步驟。 可重複專案是分享造成錯誤的特定環境的好方法。您的可重複專案是幫助想要幫助您的人的最佳方式。 ### 建立可重複專案的步驟{#steps-to-create-a-reproducible-project} - 建立新的 git 倉庫。 - 使用`tuist init` 在儲存庫目錄中初始化專案。 - 新增重新產生您所看到的錯誤所需的程式碼。 - 發佈程式碼(您的 GitHub 帳戶是個很好的地方),然後在建立問題時連結到它。 ### 可重複專案的優點{#benefits-of-reproducible-projects} - **較小的表面面積:** 透過移除除錯誤以外的所有東西,您就不必挖地三尺也要找出錯誤。 - **無需發佈秘密碼:** 您可能無法發佈您的主網站 (有許多原因)。將其中一小部分重新製作為可重複的測試案例,可讓您公開展示問題,而無需揭露任何秘密程式碼。 - **錯誤的證明:** 有時候,錯誤是由您電腦上的某些組合設定所造成的。可重複的測試案例可讓貢獻者下載您的建立檔,並在他們的機器上進行測試。這有助於驗證並縮小產生問題的原因。 - **尋求協助修復您的錯誤:** 如果其他人能夠重現您的問題,他們通常就有很大的機會修復問題。如果不先重現問題,幾乎不可能修復錯誤。