강의

멘토링

로드맵

BEST
Programming

/

etc. (Programming)

Readable Code: Cách tư duy để viết code dễ đọc

Thông qua khóa học này, bạn sẽ hiểu sâu sắc về các nguyên tắc của Clean Code và có thể viết mã sạch dựa trên tư duy hướng đối tượng. Đây là khóa học dành cho những người tò mò về Clean Code và hướng đối tượng, và cho tất cả những ai thực sự muốn viết mã tốt.

(4.9) 115 đánh giá

1,453 học viên

  • wbluke
클린코드
이론 실습 모두
clean-code
oop
Refactoring

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Tư duy để viết mã nguồn dễ đọc

  • Nguyên tắc Clean Code: Hiểu sâu lý do tuân thủ

  • Mô hình hướng đối tượng, nguyên tắc SOLID qua code

  • Value Object, Collection hạng nhất, Enum và Đa hình - Cách ứng dụng hướng đối tượng

  • Biến code tệ thành code tốt! Refactoring tăng dần và thiết kế cấu trúc

2

Anh chàng đó thực sự giỏi viết code.
Làm sao bạn có thể viết được mã như thế? 🤔

Có những lúc tôi nhìn vào mã của ai đó và nghĩ, 'Ồ, viết hay quá.'
Khi chúng ta nói rằng mã được viết tốt, thực ra nó nằm trong cùng bối cảnh với cảm giác rằng mã dễ đọc.

Cuối cùng, chìa khóa của mã là liệu nó có thể được viết theo cách dễ đọc để người khác có thể nhìn thấy hay không .
Không chỉ đơn giản là viết code theo phong cách tốt, điều quan trọng là khả năng thiết kế một cấu trúc giúp người đọc dễ đọc!

Tôi đã nghe nói về nguyên tắc mã sạch.
Tôi không hiểu rõ điều đó có nghĩa là gì hoặc tại sao phải tuân thủ điều đó. 🧐

Mã sạch là thuật ngữ được Robert C. Martin phổ biến trong cuốn sách cùng tên của ông.
Tài liệu này chứa một số hướng dẫn giúp tăng khả năng bảo trì mã, tạo điều kiện thuận lợi cho việc cộng tác và giúp các nhà phát triển viết mã tốt hơn.

Tuy nhiên, tôi đã thấy nhiều trường hợp những hướng dẫn này vẫn chỉ là những quy tắc được tuân theo một cách mù quáng mà không có sự hiểu biết sâu sắc về chúng.
Trong bài giảng này , chúng tôi sẽ giới thiệu khái niệm cơ bản về 'trừu tượng hóa' để biến nguyên tắc mã sạch thành của riêng chúng ta , sau đó giới thiệu từng bước về tư duy để viết mã tốt.

Tôi đã học được khái niệm về lập trình hướng đối tượng
Vậy bạn áp dụng nó như thế nào? 😵‍💫

Các nguyên tắc đóng gói, trừu tượng hóa, kế thừa, đa hình và SOLID.
Bạn vừa ghi nhớ các khái niệm hướng đối tượng để chuẩn bị cho buổi phỏng vấn phải không?

Các khái niệm chỉ được chấp nhận trên lý thuyết rất khó có thể hiện thực hóa ngay ở cấp độ mã.
Trong bài giảng này, chúng tôi sẽ chỉ cho bạn từng bước cách hiểu và áp dụng mô hình hướng đối tượng ở cấp độ mã trong khi tái cấu trúc mã phức tạp và lộn xộn từng chút một.

Trong bài giảng này 📖

Một tư duy để viết mã dễ đọc

Đây không phải là bài giảng chỉ liệt kê các nguyên tắc về mã sạch và giới thiệu các hướng dẫn như "Làm điều này" và "Không được làm điều này". Thay vào đó, nó giải thích các nguyên tắc dựa trên sự hiểu biết để người viết mã có thể chủ động suy nghĩ và áp dụng chúng.

Một chút về mô hình hướng đối tượng ở cấp độ mã

Từ [Các phương pháp thiết kế đối tượng, nguyên tắc SOLID] đến cách sử dụng [Đối tượng giá trị, bộ sưu tập hạng nhất, Enum, đa hình], v.v.
Chúng ta sẽ xem xét chi tiết về hướng đối tượng, mà cho đến nay chúng ta chỉ biết về mặt lý thuyết, ở cấp độ mã.

Trải nghiệm việc tái cấu trúc mã lộn xộn thành mã tốt hơn

Chúng tôi cung cấp hai dự án mẫu được viết bằng Java thuần túy.
Nó cung cấp trải nghiệm tái cấu trúc thực tế bằng cách tái cấu trúc các mã lộn xộn thành các mã tốt hơn từng cái một.

Tổ chức các từ khóa còn lại trong đầu bạn

Vì đây là bài giảng mà mạch văn từ phần đầu đến phần cuối rất quan trọng nên chúng tôi sẽ sắp xếp nội dung theo từng phần dựa trên từ khóa.
Đây không phải là bài giảng mà bạn chỉ nghe rồi quên, mà là bài giảng sẽ ở trong đầu bạn và được ghi nhớ.

Giải thích chi tiết, biểu đồ và các dự án ví dụ mà bạn có thể theo dõi và hiểu được.

Chúng tôi trình bày các điểm chính và một số hình ảnh minh họa cho từng chủ đề để giúp bạn hiểu rõ hơn. Sau khi giải thích các khái niệm, chúng tôi sẽ tiến hành mã hóa thông qua một dự án ví dụ.
Nó được cấu trúc sao cho bạn có thể hiểu rõ hơn bằng cách theo dõi mã từ đầu đến cuối và tự mình tái cấu trúc mã đó.

Đối với những người này
Tôi khuyên bạn nên dùng🙌🏻

Là một nhà phát triển phần mềm phụ trợ
Những người chuẩn bị đi làm

Về mã sạch và hướng đối tượng
Dành cho những ai muốn biết sâu hơn

Mã sạch và tốt
Nhà phát triển cấp dưới muốn viết

Chương trình giảng dạy
Hãy xem thử nhé

Hỏi & Đáp 💬

H. Người chơi có cần biết không?

Vì khóa học này được giảng dạy bằng Java thuần túy nên bạn chỉ cần nắm rõ ngữ pháp Java cơ bản.
Ngữ pháp Java 11 trở lên là đủ và sẽ tốt hơn nếu bạn cùng nhau học ngay cả khi gặp phải nội dung mà bạn không hiểu rõ. 🙂

H. Tôi tò mò về môi trường thực tế!

Để chỉ cho bạn cách phát triển trong thực tế một cách sát nhất có thể, chúng tôi sử dụng giấy phép IntelliJ Ultimate theo mặc định.
Tôi đang sử dụng macOS, nhưng tôi đã áp dụng plugin phím tắt IntelliJ để những người sử dụng hệ điều hành khác tham khảo.
Vui lòng tham khảo bài giảng đã xuất bản để biết thêm chi tiết. :)

H. Tôi có thể chọn bất kỳ phần nào tôi muốn trước, bất kể thứ tự ra sao không?

Bài giảng này trình bày mã phát triển dần dần trong một luồng lớn và vì nội dung sau dựa trên nội dung trước nên bạn nên học tuần tự từ bài giảng đầu tiên. :)

Xem trước Đánh giá khóa học

* Đánh giá khóa học bên dưới là đánh giá khóa học về bài giảng mã kiểm tra của người chia sẻ kiến ​​thức.

★★★★★

24/01/09 Thật khó khăn.
Tôi không thể nói cho bạn biết tôi may mắn như thế nào khi được tham gia một bài giảng thực sự, thực sự, thực sự tuyệt vời như vậy. Tôi không biết phải bắt đầu từ đâu hoặc học như thế nào, nhưng tôi rất biết ơn vì bài giảng đã giúp tôi sắp xếp suy nghĩ của mình. Tôi có thể cảm nhận rằng không có một bài giảng nào bị coi nhẹ và bài giảng này được đầu tư rất nhiều công sức. Tôi muốn tham gia nhiều lớp học hơn và học hỏi nhiều hơn trong tương lai. Tôi hy vọng bạn sẽ tiếp tục có nhiều bài giảng hay trong tương lai. Cảm ơn!!!!

- đ***

★★★★★

Đó là bài giảng thực sự chạm đến nỗi băn khoăn của tôi khi nói đến việc kiểm tra. Vì tôi đang học một mình và không có nơi nào để nhận phản hồi về mã kiểm tra, nên tôi đã tìm kiếm trong một số kho lưu trữ dự án từ các câu lạc bộ CNTT hoặc chương trình giáo dục và suy nghĩ về cách viết mã kiểm tra. Bài giảng này thực sự hữu ích. Bây giờ bạn đã có một số ý tưởng về hướng đi và phương pháp, bước tiếp theo là tự học và biến nó thành của riêng bạn. Cảm ơn bài giảng tuyệt vời. Tôi có thể cảm nhận được sự đầu tư rất nhiều công sức vào việc chuẩn bị bài giảng. Cảm ơn

- Đm***

★★★★★

Tôi luôn lo lắng về việc thử nghiệm khi viết mã sản xuất, nhưng tôi rất thích học nó vì nó được giải thích dễ dàng bằng mã. Tôi nghĩ đây là một bài giảng tuyệt vời có sức hấp dẫn mạnh mẽ đến mức ngay cả những người không biết gì về kiểm tra cũng có thể hiểu được! Cảm ơn bài giảng tuyệt vời😊😊

- vâng

★★★★★

Trong tất cả các bài giảng tôi đã tham dự vào năm 2023, đây là bài giảng hữu ích nhất và là bài giảng tôi muốn chia sẻ với mọi người . Trong nhiều bài giảng mùa xuân, tầm quan trọng của mã kiểm thử đã được đề cập đến và chỉ có một tuyên bố chung được đưa ra, nhưng bài giảng này chỉ bao gồm nội dung tôi muốn, chẳng hạn như các công cụ khác nhau và cách sử dụng chúng.

- Đm***

★★★★★

★ ☆ ★ Một khóa học mà bạn không thể không để lại đánh giá! ★☆★ Tôi luôn sợ các bài kiểm tra và thấy chúng khó, vì vậy tôi chưa bao giờ viết chúng. Nhưng bây giờ tôi biết rằng các bài kiểm tra không hề khó hay đáng sợ đến thế. Tôi hy vọng rằng những người khác sẽ tham gia khóa học này và vượt qua nỗi sợ kiểm tra. Bài giảng của thầy Woobin rất tập trung và dễ hiểu. Tôi tự hỏi liệu bạn có đang lên kế hoạch cho bài giảng nào khác không. Cảm ơn

- Không***

★★★★★

Tôi đã rất khó khăn khi tìm một bài giảng cơ bản về định nghĩa và sự cần thiết của việc tại sao phải viết Mã kiểm tra, cũng như cách áp dụng nó vào thực tế. Tôi nghĩ đây chính là nơi cuộc tìm kiếm của tôi kết thúc.
Bài giảng này rất cơ bản và thực tế, và tôi nghĩ đây là bài giảng hay nhất mà tôi từng tham dự, trong số tất cả các bài giảng đắt tiền và hợp thời trang.
Cảm ơn

- cái này***

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người quan tâm đến cách tư duy theo Mã sạch

  • Những người bấy lâu nay chỉ học thuộc lòng các khái niệm hướng đối tượng qua sách vở

  • Những ai thật sự muốn code giỏi!

Cần biết trước khi bắt đầu?

  • Những người biết cơ bản Java, đã lập trình

Xin chào
Đây là

5,365

Học viên

400

Đánh giá

373

Trả lời

4.9

Xếp hạng

5

Các khóa học

안녕하세요 ☺️
몰입을 즐기는 개발자, 박우빈입니다.

  • (현) 캐치테이블(와드) 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • 우아한테크코스 3기, 4기 리뷰어 / 우아한테크캠프pro 1기 리뷰어 / 그 외 다양한 리뷰어 활동

Chương trình giảng dạy

Tất cả

55 bài giảng ∙ (14giờ 1phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

115 đánh giá

4.9

115 đánh giá

  • hyunzxn님의 프로필 이미지
    hyunzxn

    Đánh giá 6

    Đánh giá trung bình 4.7

    5

    100% đã tham gia

    Sau bài giảng thử nghiệm, bài giảng này là một bài giảng rất hay, cảm giác như được giảng dạy bởi một lập trình viên giỏi và một người bạn thân. Tôi không theo chuyên ngành (chuyên ngành nghệ thuật tự do) và tôi luôn nhớ những gì giáo sư đã nói với tôi ở trường đại học về những yếu tố tạo nên một bài luận hay và một câu trả lời hay. Ý tưởng là nó nên được viết từ quan điểm của người đọc chứ không phải của người viết. Tôi luôn muốn kết hợp nguyên tắc này vào mã của mình khi nghiên cứu phát triển và chuẩn bị cho công việc. Bài giảng này dường như đã thừa nhận suy nghĩ của tôi không sai. Đồng thời, đó là một bài giảng thực sự rõ ràng, chỉ rõ những gì tôi cần cải thiện để trở thành một nhà phát triển giỏi hơn. Nếu bạn chỉ sử dụng Java, Kotlin hoặc một ngôn ngữ hướng đối tượng khác và sử dụng Spring, bạn sẽ nói: "Tôi đang phát triển hướng đối tượng". Đây là khóa học tôi đặc biệt giới thiệu cho những ai có suy nghĩ như vậy. Đối với những người cảm thấy rằng các nguyên tắc SOLID và nguyên tắc hướng đối tượng mà họ đã nghiên cứu trước đây không được áp dụng tốt vào mã của họ, tôi có thể tự tin nói rằng đây là một bài giảng sẽ thực sự mở rộng tầm mắt của họ. Ngoài phần hướng đối tượng, nó còn chứa câu trả lời rõ ràng cho câu hỏi loại mã nào dễ đọc, như tiêu đề bài giảng đã gợi ý. Nó chứa rất nhiều thông tin hữu ích trong quá trình cộng tác và đọc lại code đã viết trước đó. Sau khi nghe bài giảng, tôi nghĩ mình đã hiểu được phần nào tại sao các nhà phát triển lại thấy việc đặt tên khó khăn đến vậy. Nếu bạn thấy việc đặt tên quá dễ dàng thì nên tham gia bài giảng này! cười Không cần phải nói, nội dung bài giảng rất xuất sắc, những lời giải thích trong mỗi chương đều được giải thích ngắn gọn, dễ hiểu, không có những chi tiết không cần thiết. Tôi nghĩ đó thực sự là một bài giảng hay. Tôi thực sự khuyên bạn nên nghe nó!

    • wbluke
      Giảng viên

      La bàn hỏng~! Wow, một bài đánh giá kỹ lưỡng như vậy 🥲 Tôi không thể diễn tả được rằng tôi đã hạnh phúc như thế nào khi đọc bài đánh giá trong lúc làm thêm giờ. Tôi thực sự rất vui vì những điều mình muốn truyền tải đã được truyền tải rõ ràng haha. Cảm ơn bạn và sẽ hỗ trợ bạn trong chặng đường học tập sau này ☺️

  • regolego님의 프로필 이미지
    regolego

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    7% đã tham gia

    Sau bài giảng về mã kiểm tra lần trước, tôi cảm thấy rằng Nó được cấu trúc để tăng cường sự hiểu biết, với những giải thích rõ ràng, không có chi tiết không cần thiết và ví dụ phù hợp với tình huống phù hợp. Tôi đã bỏ cuộc vài lần khi đọc cuốn Clean Code của Robert Martin. Lần này, sau khi xem bài giảng này, tôi sẽ lấy lại được sức mạnh và đọc kỹ nó. Cảm ơn Hãy tiếp tục cho những bài giảng hay!

    • wbluke
      Giảng viên

      Ôi Patrasche của tôi, ôi! Cảm ơn các bạn luôn ủng hộ hết mình haha ​​​​🙇

  • lyt12282592님의 프로필 이미지
    lyt12282592

    Đánh giá 14

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi luôn quan tâm đến mã sạch và cố gắng viết mã dễ đọc. Tuy nhiên, sau khi nghe bài giảng này, tôi có thể cảm thấy rằng 'tôi chỉ mới bắt đầu bước chân vào lĩnh vực mã sạch'; Từ bài giảng test code đến bài giảng này, nó thực sự đã giúp tôi củng cố năng lực của mình. Dựa trên những gì đã học được, tôi dự định sẽ thực hiện quá trình tái cấu trúc các dự án đã hoàn thành trước đó để tích lũy kinh nghiệm. Cảm ơn bạn vì bài giảng thật tuyệt vời! Tôi đang mong chờ bài giảng tiếp theo!

    • wbluke
      Giảng viên

      Dongpal~! Tôi rất vui vì mọi điều tôi muốn nói đã được truyền tải tốt haha. Tôi hy vọng rằng chúng tôi có thể tiếp tục tạo ra mã tốt dựa trên những gì chúng tôi đã học được lần này. Cảm ơn bạn đã đánh giá có giá trị của bạn! ☺️

  • dbcksrla4023님의 프로필 이미지
    dbcksrla4023

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    58% đã tham gia

    2 năm trước, tôi đã viết một đoạn mã khi mới vào nghề và thấy tức giận nên muốn refactor nhưng không biết phải làm sao. Vì vậy, tôi đã xem khóa học về mã thử nghiệm và thấy rất ấn tượng nên đã tin tưởng và học tập. Nhưng tôi tự hỏi tại sao mình lại xem khóa học này bây giờ... Gần đây tôi bị kiệt sức nhưng nhờ khóa học này mà giờ tôi thấy thú vị hơn khi refactor và phát triển. Khi nhìn lại bản thân và chỉ đơn giản là định nghĩa chức năng ở mức độ cụ thể, tôi thấy xấu hổ vì nghĩ rằng `Mình có thể làm được đến mức này không?` Tôi sẽ xóa bỏ kinh nghiệm hiện tại và bắt đầu học lại từ đầu với tư cách là người mới vào nghề. Cảm ơn bạn. Khi có khóa học tiếp theo, vui lòng thông báo cho tôi, dù là thông báo hay bất cứ thứ gì khác. Vui lòng, vui lòng.

    • wbluke
      Giảng viên

      dbcksrla~! Ôi trời, tôi nghĩ những cảm xúc này kết hợp với nhau và trở thành động lực tốt để viết code hay 😊 😊 Tôi cũng vậy! 😆😆 Cảm ơn bạn đã đánh giá chi tiết khóa học, mình sẽ cố gắng hơn nữa để suy nghĩ về khóa học tiếp theo 😊 😊 😊 Chúng tôi sẽ hỗ trợ bạn trên chặng đường tương lai ☺️

  • longbright0804님의 프로필 이미지
    longbright0804

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Khi xem bài giảng trước, tôi đã có cảm giác rằng anh viết code rất gọn gàng và tốt, nhưng không ngờ anh lại chuẩn bị kỹ lưỡng như thế này! Không cần phải nói về việc anh giải thích một cách đơn giản và rõ ràng. Đây là một bài giảng giải quyết thỏa đáng những phần mà bất kỳ ai viết code đều từng suy nghĩ ít nhất một lần. Khi refactor các side project và project công ty, tôi đã tập trung vào việc viết code "trông gọn gàng", nhưng tất cả đều chỉ là ảo tưởng thôi. Tôi đã liên tục refactor mà hoàn toàn không có căn cứ gì cả 🫠 Nhưng giờ đã học được rồi nên chỉ còn việc áp dụng tốt những gì đã học ở đây thôi! Cảm ơn anh rất nhiều vì bài giảng hay 👍

    1.163.974 ₫

    Khóa học khác của wbluke

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!