首頁  >  文章  >  web前端  >  Hacktoberfest 週深入探討程式碼貢獻

Hacktoberfest 週深入探討程式碼貢獻

Patricia Arquette
Patricia Arquette原創
2024-10-12 08:38:01707瀏覽

Hacktoberfest Week Diving Deeper into Code Contributions

大家好!今年的 Hacktoberfest 怎麼樣?就我個人而言,到目前為止我真的很享受。我們現在已經進入 10 月的第二週,這意味著是時候提出完成挑戰所需的四個拉取請求 (PR) 了。本週,我決定進一步推動自己,為專案的程式碼庫做出貢獻,而不是像第一週那樣只專注於文件。

第一周回顧

在 Hacktoberfest 的第一個 PR 中,我致力於改進專案文件。作為一個初學者,我想透過較小的、可管理的任務來輕鬆進入這個過程。然而,在第二週,我決定承擔一些更具技術性的事情:為 GitExplorer 專案做出貢獻。

項目概述:GitExplorer

GitExplorer 是一個 Web 應用程序,可簡化頂級 GitHub 儲存庫的發現和探索。它允許用戶根據程式語言、主題和其他排序標準來過濾儲存庫。雖然 UI 仍在開發中,但該計畫為貢獻者(尤其是初學者)提供了寶貴的學習機會。存儲庫中的許多問題都被標記為“好第一個問題”,使其成為一個很好的起點。

為了做出貢獻,我選擇實作一個導航功能,以增強瀏覽儲存庫時的使用者體驗。

確定問題

該專案最初有一個用於導航到儲存庫下一頁的按鈕,但它缺乏完整的分頁系統。使用者無法輕鬆地在頁面之間來回導航或跳到特定頁面,這帶來了可用性問題。我注意到了這個限制,並要求專案維護人員將問題分配給我。

在我從事該專案期間,一個突出的方面(但不是很好)是程式碼庫的結構方式。該專案將所有邏輯寫入單一 script.js 檔案中,隨著專案的成長,該檔案可能會變得難以維護。雖然我不想在此 PR 中進行重大更改(因為它僅關注分頁按鈕),但我計劃建議在未來的問題中重構程式碼結構。

其實,之前還有一個開發者創建了一個導航到下一頁的按鈕,但是當用戶想要來回導航以及特定頁面時,這對用戶體驗不好。由於這個原因,我評論要求維護者為我分配這個問題。
當我從事這個專案時,有一點我不喜歡它。這是維護者建立程式碼庫的方式,因為他將每個邏輯僅寫入 1 個 script.js 檔案。但是,我不想對此問題進行太多修復,因為它只要求分頁按鈕。我將創建一個新問題,要求稍後重新建立程式碼庫。

新功能:增強分頁

現有功能只有一個按鈕可以在頁面之間導航,每頁顯示 10 個儲存庫。我的目標是實現一個更用戶友好的分頁系統,其中包含「上一頁」、「下一頁」和編號頁面按鈕。這將允許用戶直接跳到他們感興趣的頁面,使導航體驗更加流暢。

執行

GitHub API 約束:

在實作分頁時,我遇到了 GitHub API 的限制,它將結果限制為 1,000 個專案。如果搜尋產生超過 1,000 個儲存庫,則嘗試超出此限制會導致錯誤,並傳回未定義的資料。鑑於設計每頁顯示 10 個儲存庫,我將頁面數限制為 100 以避免遇到此問題。

程式碼變更

  • 我引入了一個新的

    ; script.js 中用於分頁的部分。這使我能夠添加一些 CSS 樣式來改善按鈕美觀和使用者體驗。
  • 分頁的核心邏輯被封裝在兩個新函數中:

    • createButton()
    • renderPagination() 這些函數會根據可用頁面動態生成分頁按鈕並套用樣式來停用目前頁面按鈕,防止使用者意外地重新點擊它。我還為按鈕添加了懸停效果,以獲得更精美的外觀。
  • CSS 改良

    對於分頁設計,我確保當前頁面按鈕已停用,並以不同的樣式來指示其狀態。其他頁面按鈕可獲得懸停效果,以增強互動性並改善使用者體驗。

    Kesimpulan

    Itu mengakhiri sumbangan saya untuk Minggu 2 Hacktoberfest. Saya kini sedang mencari repositori lain untuk menyumbang kepada minggu depan. Sebaik-baiknya, saya ingin mencari projek yang sedikit lebih mencabar, supaya saya boleh terus mendorong diri saya dan meningkatkan kemahiran saya secara progresif.

    Terima kasih kerana membaca, dan saya tidak sabar-sabar untuk berkongsi lebih lanjut tentang perjalanan Hacktoberfest saya!

以上是Hacktoberfest 週深入探討程式碼貢獻的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:成為改變遊戲規則的全端開發人員的終極指南:釋放 JavaScript 的力量下一篇:成為改變遊戲規則的全端開發人員的終極指南:釋放 JavaScript 的力量

相關文章

看更多