iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
Software Development

從實戰中學習:Take Home Assignment review & refactor系列 第 19

[Day 19] 作業4:Static Single Page View Implementation - 前端Code review

  • 分享至 

  • xImage
  •  

Static Single Page View Implementation - 前端Code review

由於前端只需要刻板,這邊的code review就快速的來看一下。作業成果在這

Code review

layout.tsx

優點:

簡單乾淨的佈局組件。
使用從Google字型庫的Inter字型,這樣可以優化性能。

建議:

可以將 <html><body> 標籤移除,在 React 和 Next.js 中,這些通常是全域的,不應該在組件中再次定義。

page.tsx

優點:

組件組合得不錯,使結構清晰。

建議:

考慮將樣式值(如 h-1181)移到一個 central style 或 config 檔案中,這樣可以使樣式更具有可維護性。

content.tsx

優點:

使用了 map 來迭代文本元素,使結構簡潔。

建議:

避免使用絕對定位 (absolute) 來定位大部分元素。這在一些情境下可能會造成問題,特別是當內容大小變化時。

navBack.tsx

優點:

使用 SVG 來實現箭頭圖標,這樣可以確保高分辨率的清晰度。

title.tsx

優點:

清楚展示標題和狀態。

voteResult.tsx

優點:

做了良好的組件分解,如 ProgressBar、ResultList 和 ResultStatusList。

建議:

和 content.tsx 一樣,避免過多地使用絕對定位。

yourVotingStatus.tsx

優點:

清楚地顯示了投票狀態和操作。

建議:

確保Button组件可以處理不同的背景颜色,可能需要考慮文字颜色的對比度,確保可讀性和可訪問性。

button.tsx

優點:

簡單且彈性的按鈕組件。

建議:

可以將 color 屬性重新命名為 bgColor 或 backgroundColor,這樣更具描述性。
考慮加入 onClick 或其他事件處理程序以增加互動性。

horizontalLine.tsx

優點:

簡單且功能明確的組件。

progressBar.tsx

優點:

清楚地顯示了進度條,包括文字和百分比。

建議:

style={{width: ${percentage}%}} 是正確的,但考慮在某些情況下使用 TailwindCSS 的寬度類,如 w-1/4、w-1/2 等,以保持一致性。

result.tsx

優點:

簡單且乾淨的結果展示組件。

resultList.tsx

優點:

使用了 map 來迭代結果,使結構簡潔。

resultStatus.tsx 和 resultStatusList.tsx

優點:

清楚地展示了結果的狀態。
使用 SVG 來顯示勾選的狀態,這樣可以確保高分辨率的清晰度。

status.tsx

優點:

彈性的狀態組件,可以根據不同的屬性定制外觀。

建議:

考慮將 status_size 屬性拆分為 width 和 height,這樣更具描述性。

text.tsx

優點:

簡單且彈性的文字組件。

建議:

考慮使用更具語義的標籤,如 <p>,而不是 <h1>,因為這是一個通用的文字組件,而不是特定的標題組件。


上一篇
[Day 18] 作業4:Static Single Page View Implementation - 前端專案review
下一篇
[Day 20] 作業4:Bitcoin Trading Bot Design - 專案review
系列文
從實戰中學習:Take Home Assignment review & refactor30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言