thắc mắc Thắc mắc về coding style

teeeeeeeee

Senior Member
Hế lô mấy fen!!!
Trong lập trình thì if được sử dụng rất nhiều, nhưng mà nếu chỉ cần sử dụng if để kiểm tra một điều kiện thì mình không biết là nên sử dụng cách nào trong hai cách dưới đây?
JavaScript:
if(a === 1)
    a++

JavaScript:
a === 1 && a++
 
Lắm cách quá,e thấy nhiều thì rắc rối lên chứ có thêm được cái gì đâu. Bỏ hết mấy cách ít phổ biến đi cho dễ

Sent from LM-G710N via nextVOZ
Yup! Mình ko biết cách dưới có giúp code chạy nhanh hơn bao nhiêu nhưng nếu có điều kiện phức tạp thì có thể code sẽ khó để đọc hơn :byebye:
 
Hế lô mấy fen!!!
Trong lập trình thì if được sử dụng rất nhiều, nhưng mà nếu chỉ cần sử dụng if để kiểm tra một điều kiện thì mình không biết là nên sử dụng cách nào trong hai cách dưới đây?
JavaScript:
if(a === 1)
    a++

JavaScript:
a === 1 && a++
Cách 1 nha.

via nextVOZ for iPhone
 
Cả 2 cách đều không nên, vì phải sử dụng lệnh rẽ nhánh. Nếu bộ branch predictor dự đoán đúng thì tốt, nhưng nếu sai thì phí phạm mất khoảng 15-20 clock của pipeline.
Như này thì hợp lý hơn:
a += (a=== 1)
 
Cách 1 r, đọc dễ hiểu là được, làm màu người khác vô đọc méo hiểu gì :confident:
Nhóm em làm project, 2 đứa kia biết tiếng anh. Comment tiếng anh em phải gg dịch(may k nhiều vì code chính em làm). Đến hôm nộp project thì ông thầy bảo chuyển sang tiếng việt đi vì ông k biết tiếng anh, giám khảo cũng thế:sneaky:. mà sản phẩm cũng chơi tiếng anh hết sạch, người dùng vào còn tưởng web tây nên chắc đầy người bỏ k vào xem
 
cá nhân quan điểm là code càng dễ đọc càng tốt, kể cả code cho mình hay làm nhóm cũng như vậy. Viết tắt có thể gọn nhưng lúc nhìn lại thường dễ gây loạn, nhất là lúc debug.
 
Cả 2 cách đều không nên, vì phải sử dụng lệnh rẽ nhánh. Nếu bộ branch predictor dự đoán đúng thì tốt, nhưng nếu sai thì phí phạm mất khoảng 15-20 clock của pipeline.
Như này thì hợp lý hơn:
a += (a=== 1)
Hợp lý méo j . Cách của anh tệ hơn cách 2 của thớt nữa

via nextVOZ for iPhone
 
Cả 2 cách đều không nên, vì phải sử dụng lệnh rẽ nhánh. Nếu bộ branch predictor dự đoán đúng thì tốt, nhưng nếu sai thì phí phạm mất khoảng 15-20 clock của pipeline.
Như này thì hợp lý hơn:
a += (a=== 1)
:byebye::byebye::byebye:
 
Hợp lý méo j . Cách của anh tệ hơn cách 2 của thớt nữa

via nextVOZ for iPhone

Tệ như nào nhỉ? Cách đó bao giờ cũng chỉ tốn đúng 2 lệnh máy, 2 clock CPU không hơn không kém.
Còn 2 cách ở #1 bản chất là như nhau, đều dùng phép rẽ nhánh. Nếu nếu bộ tiên đoán rẽ nhánh đúng thì chỉ tốn 2 clock CPU. hưng nếu có thì sẽ phải flush cả cái pipeline, tùy vào loại CPU mà có thể là từ 15 đến 20 clock.
Trong lập trình người ta tìm mọi cách hạn chế rẽ nhánh là vì thế.
 
Nhóm em làm project, 2 đứa kia biết tiếng anh. Comment tiếng anh em phải gg dịch(may k nhiều vì code chính em làm). Đến hôm nộp project thì ông thầy bảo chuyển sang tiếng việt đi vì ông k biết tiếng anh, giám khảo cũng thế:sneaky:. mà sản phẩm cũng chơi tiếng anh hết sạch, người dùng vào còn tưởng web tây nên chắc đầy người bỏ k vào xem
Trường nào thế mai fen :doubt:
Tiếng anh là cần thiết trong ngành này mà giám khảo nói không biết r kêu đổi sang tiếng Việt là sao
 
Tệ như nào nhỉ? Cách đó bao giờ cũng chỉ tốn đúng 2 lệnh máy, 2 clock CPU không hơn không kém.
Còn 2 cách ở #1 bản chất là như nhau, đều dùng phép rẽ nhánh. Nếu nếu bộ tiên đoán rẽ nhánh đúng thì chỉ tốn 2 clock CPU. hưng nếu có thì sẽ phải flush cả cái pipeline, tùy vào loại CPU mà có thể là từ 15 đến 20 clock.
Trong lập trình người ta tìm mọi cách hạn chế rẽ nhánh là vì thế.
Nếu một project lớn mà viết cách của fen thay vì sử dụng câu if bình thường thì sao mà được mai fen :doubt:
Lúc debug hay người mới join vào để hiểu code sẽ rất khó khăn. Làm giảm 15-20 clock của CPU có đáng để đánh đổi không :doubt:
 
Trường nào thế mai fen :doubt:
Tiếng anh là cần thiết trong ngành này mà giám khảo nói không biết r kêu đổi sang tiếng Việt là sao
KK, thầy nói thế thôi nhưng nói chung là em thấy cái game quizz toàn tiếng anh thì cũng k thực tế để đi marketing sản phẩm.
 
Back
Top