THẢO LUẬN

  def level_of_education
       return "preschool" if account.age < 6
       return "Elementary school" if account.age >= 6 and account.age <= 11
       return "Secondary school" if account.age > 11 and account.age <= 15
       return "high school" if account.age > 15 and account.age <= 18
       return "University" if account.age > 18 and account.age <= 23
       "school life"
     end

Cái này thì công nhận dễ đọc hơn --> OK.

Một số dự án cũ anh từng làm (C và C++) thì coding convention không khuyến khích việc return nhiều chỗ trong cùng một hàm, nên xử lý trên thân hàm và chỉ return ở 1 cửa duy nhất. (exit point).

Tất nhiên trong một số ngôn ngữ bậc thấp hơn người ta cần quan tâm đến việc free biến, giải phóng bộ nhớ trước lúc kết thúc một hàm nào đấy nên mới phải cân nhắc đến việc có nên return nhiều chỗ trong cùng một hàm hay không.

Cái này chính là thuật ngữ Single Entry, Single Exit (SESE) hay được mô tả trong một số tài liệu coding convention.

17.1 return

Minimize the number of returns in each routine. It's harder to understand a routine if, reading it at the bottom, you're unaware of the possibility that it returned somewhere above.

--> Vậy trong case này em có idea nào khác không?

+1
Jun 9th, 2018 4:16 p.m.

console.log(...favoriteFood); --> Cái này hay đấy =)).

0
Jun 9th, 2018 4:11 p.m.

Uh em, Mới 1,2 năm lại đây a mới không dev thôi. Trước đấy vẫn chiến bình thường mà 😃. Keep going ahead man ^^.

0
Jun 9th, 2018 11:46 a.m.

hi your article is nice here i found new tutorial https://www.welookups.com/Python/default.html

0
Jun 9th, 2018 3:43 a.m.

Cảm ơn bạn đã quan tâm đến bài viết của mình. Bài viết này chỉ là quan điểm của riêng mình sau khi trải qua 1 thời gian đầu tiếp cận với nó. Cảm ơn bạn!

+1
Jun 9th, 2018 1:05 a.m.

chỉ rút gọn cho kotlin thôi ạ ?

0
Jun 8th, 2018 6:13 p.m.

vậy sao bạn ko dùng react native đi cho giống các ông lớn luôn 😃), conflict storyboard vậy nếu bạn pure code chung 1 file thì ko hả. Tùy từng trường hợp mà dùng cái nào. Project mix cả 2 cũng đc. bài viết phiến diện quá 😃)

+1
Jun 8th, 2018 4:31 p.m.

@huukimit E hiểu cái đó ạ... Nhưng ý e ở đây là e thao tác với Jquery ấy ạ... tức là e upload 1 ảnh lên, rồi dùng append để thêm vào list image đang có ấy a.

Xong e dùng Jquery để chèn vào Markdown editor nhưng ngặt cái là ở view source code không hiển thị nên không thao tác được ấy ạ...

Capture.PNG

HÌnh khoanh tròn trong ảnh là hình em vừa upload lên, nhưng không thao tác Jquery được ấy anh.. Chứ e hiểu ý của a nói chứ ạ..Cái hình em khoanh tròn là hình e dùng append để insert vào phía client ấy anh.... so sad luôn ạ

Em cám ơn anh... 😦

0
Avatar
đã bình luận cho bài viết
Jun 8th, 2018 3:59 p.m.

Phần này bị thiếu trầm trọng rồi nhé Đổi code trong view của home nhưng controller thì không xài. Lấy đây ra biến $listProduct ???

0
Jun 8th, 2018 3:59 p.m.

xóa nó đi là xong

0
Jun 8th, 2018 3:52 p.m.

@minhtuancnttk39 Bạn inspect thấy có element mới được thêm vào rồi thì là append đúng rồi. Nếu view không thay đổi thì bạn kiểm tra lại style của element đấy. Còn View Source Code là xem mã nguồn đã được tải về của trang hiện tại chứ ko phải dùng để debug. Mà debug thì phải dùng DevTool. Bạn vào trang https://shopee.vn rồi bấm view source code nó sẽ ra một trang có đúng một thẻ script thôi mà chẳng có thẻ html nào. Bạn debug thế thực sự là sai rồi.

+1
Jun 8th, 2018 2:34 p.m.

Tức là nhu cầu của bạn là vẫn giữ lại tất cả các data mặc dù người dùng đã xoá để dùng sau này (thống kê hay gì đó mình không rõ) đúng không?

Nếu là thế thì bạn có thể dùng delayed job chẳng hạn. Khi user ra lệnh xoá bạn soft delete như bây giờ đồng thời set một delayed job chạy ngầm, move data đó sang chỗ mới rồi mới hard delete record đó đi. User vẫn được phản ứng lại ngay, bạn vẫn có data để dùng sau này 😃

0
Jun 8th, 2018 12:19 p.m.
  • Ý e là thế này a... Expect Element thì nó hiện, khi e append.. nhưng nó không hiển thị ra khi e view source code, trừ khi e F5 lại.. nhưng F5 lại thì kg đúng mục đích của e ạ...

Thế nên e chưa biết làm sao để khi append xong cái thì source code gốc của web cũng update luôn... như thế thì việc thực hiện Jquery mới thực thi được ấy ạ.

0
Avatar
đã bình luận cho bài viết
Jun 8th, 2018 9:52 a.m.

@vuduchong209305 t chỉ mới viết cái t đang biết và muốn lưu lại. t sẽ update và bổ sung tiếp có gì bạn chỉ giáo thêm nhé 😃

0
Avatar
đã bình luận cho bài viết
Jun 8th, 2018 9:28 a.m.

bài viết sơ sài quá

0

không có bài sau ạ?

0
Jun 8th, 2018 8:17 a.m.

@Huu

Vì chức năng search của mình cần join nhiều bảng, xữ lý tính toán trong câu query nữa, nếu như thế thì có dùng Easticsearch được không bạn nhỉ.

Bạn có thể search từ Elasticsearch ra, sau đó lấy kết quả rồi select và join với các bảng khác trong MySQL mà 😄

Nếu dữ liệu mình có là "Have technical problems? Ask on Viblo" Thì gõ "tech" thì nó không trả về kết quả nhỉ, vì nó là full-text mà, nếu dùng wildcard trong elasticsearch thì nó trả về kết quả, nếu như thế thì có khác gì search like đâu bạn nhỉ

Có lẽ bạn hiểu sai khái niệm về full text search rồi 😃 Full text search làm được nhiều việc hơn rất nhiều so với phép LIKE thông thường của SQL. Ví dụ như ở câu của bạn "Have technical problems? Ask on Viblo" thì nếu bạn search "have problems", "has problems", "ask in Viblo", hay thậm chí "probelms" (viết sai chính tả) nó vẫn có thể trả ra kết quả được cho bạn (bạn cứ thử với chức năng search của Viblo thì sẽ rõ 😄), chứ phép toán LIKE thì chịu chết 😂 Chưa kể phép toán like sẽ rất là chậm nữa (do hầu như không tận dụng được index)

0

Cái key là cái gì vậy bạn?

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jun 8th, 2018 7:34 a.m.

Nếu theo cách 1 và dùng dùng expressJS + MySQL thì sau này dữ liệu lớn lên nó có ok không bạn nhỉ, hay là dùng expressJS + MongoDB nhỉ

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí