Skip to content

[improve] - code review #1

@arinchaik

Description

@arinchaik

การตั้งชื่อตัวแปรต้องตั้งให้เข้าใจมากกว่านี้ example =>

questionDetails => questionDetail
question => questionName
errorQ => isError
choiceDesc => choiceDescription

Screen Shot 2566-06-09 at 11 06 03

ควรแยก function validate อีก 1 เพื่อให้ง่ายต่อการ debug, แยก function validate เพื่อ return validate output [true, false], จากนั้นสร้าง function ในการ submit อีก 1 function, ควรมีหรือใช้การ setState ให้เกิดขึ้นใน function ให้น้อยที่สุด
Screen Shot 2566-06-09 at 11 11 33

ควรสร้างตัวแปรเพื่อกำหนดค่าเริ่มต้นที่มีรูปแบบคล้ายหรือเหมือนกันไว้ใช้ร่วมกัน หากมีกรณีมีการแก้ object นี้เกิดขึ้นจะได้แก้แค่ตัวเดียวหรือเผื่อไว้ในกรณีที่ลืมแก้อีกตัว
Screen Shot 2566-06-09 at 11 14 30

การจัด indent spaces ควรเท่ากันทุกไฟล์ใน project
Screen Shot 2566-06-09 at 11 16 15

ชื่อ type หรือ interface ทั้งหมดขึ้นต้นด้วยตัวใหญ่ ref: https://www.typescriptlang.org/docs/handbook/2/objects.html
Screen Shot 2566-06-09 at 11 17 55

อธิบาย logic ในการ delete เพิ่มเติมให้ฟังหน่อย
Screen Shot 2566-06-09 at 11 20 18

ตอน onchange ค่าต่าง ๆ ของ field เราไม่ควรที่จะ access ถึงค่า state หรือตัวแปร โดยตรง ควรสร้างตัวแปรใหม่มารับเพื่อนำค่าไปใช้แก้ไขต่อ
Screen Shot 2566-06-09 at 11 21 35

function นี้ และ function อื่น ๆ ที่มีการทำงานคล้าย ๆ กันแบบนี้ เราแก้ไขแค่ค่าบางตัว เช่น choices choiceDesc errorC เราสามารถแก้ไข function ให้ไม่ต้อง reference ค่าอื่น ๆ และแก้ไขค่าโดยตรงได้เลย
Screen Shot 2566-06-09 at 11 23 34

ประมาณนี้ก่อนสำหรับโปรเจคนี้ 😁

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions