由於前端只需要刻板,這邊的code review就快速的來看一下。作業成果在這
簡單乾淨的佈局組件。
使用從Google字型庫的Inter字型,這樣可以優化性能。
可以將 <html>
和 <body>
標籤移除,在 React 和 Next.js 中,這些通常是全域的,不應該在組件中再次定義。
組件組合得不錯,使結構清晰。
考慮將樣式值(如 h-1181)移到一個 central style 或 config 檔案中,這樣可以使樣式更具有可維護性。
使用了 map 來迭代文本元素,使結構簡潔。
避免使用絕對定位 (absolute) 來定位大部分元素。這在一些情境下可能會造成問題,特別是當內容大小變化時。
使用 SVG 來實現箭頭圖標,這樣可以確保高分辨率的清晰度。
清楚展示標題和狀態。
做了良好的組件分解,如 ProgressBar、ResultList 和 ResultStatusList。
和 content.tsx 一樣,避免過多地使用絕對定位。
清楚地顯示了投票狀態和操作。
確保Button组件可以處理不同的背景颜色,可能需要考慮文字颜色的對比度,確保可讀性和可訪問性。
簡單且彈性的按鈕組件。
可以將 color 屬性重新命名為 bgColor 或 backgroundColor,這樣更具描述性。
考慮加入 onClick 或其他事件處理程序以增加互動性。
簡單且功能明確的組件。
清楚地顯示了進度條,包括文字和百分比。
style={{width: ${percentage}%}} 是正確的,但考慮在某些情況下使用 TailwindCSS 的寬度類,如 w-1/4、w-1/2 等,以保持一致性。
簡單且乾淨的結果展示組件。
使用了 map 來迭代結果,使結構簡潔。
清楚地展示了結果的狀態。
使用 SVG 來顯示勾選的狀態,這樣可以確保高分辨率的清晰度。
彈性的狀態組件,可以根據不同的屬性定制外觀。
考慮將 status_size 屬性拆分為 width 和 height,這樣更具描述性。
簡單且彈性的文字組件。
考慮使用更具語義的標籤,如 <p>
,而不是 <h1>
,因為這是一個通用的文字組件,而不是特定的標題組件。