강의

멘토링

커뮤니티

NEW
Programming

/

etc. (Programming)

Giới thiệu về Simple Design Bài 3: Ít hơn là nhiều hơn

Đây là bài giảng thứ ba của khóa Giới thiệu Simple Design, đề cập đến việc giảm thiểu các thành phần cấu thành - một trong hai nguyên tắc của Simple Design. Bài giảng sẽ xem xét các thành phần cấu thành là gì, tại sao cần giảm thiểu chúng, và trình bày nhiều phương pháp giảm thiểu các thành phần cấu thành kèm theo code ví dụ. Ngoài ra, sau khi tìm hiểu về code smell trong refactoring và khái niệm lãng phí cần thiết trong Toyota Way, bài giảng cũng sẽ thảo luận về cách đánh giá kỹ năng chất lượng code của bản thân.

69 học viên đang tham gia khóa học này

  • youngrok
코드품질
리팩토링
code readability

Bạn sẽ nhận được điều này sau khi học.

  • Bạn có thể tìm hiểu cách cải thiện code bằng cách giảm trạng thái và giảm biến.

  • Bạn có thể đánh giá kích thước phù hợp của một hàm.

  • Có thể hiểu được sự cân bằng giữa khối lượng code và giá trị, và tìm được sự cân đối phù hợp.

  • Bạn có thể đánh giá và cải thiện chất lượng code của bản thân và team.

Khóa học này là khóa học thứ ba trong lộ trình Simple Design và là khóa học cuối cùng của phần giới thiệu Simple Design, nơi đề cập đến chất lượng code về mặt lý thuyết. Sau khi hoàn thành khóa học này, bạn có thể coi như đã xây dựng được nền tảng để viết code tốt. Bạn nên xem khóa học đầu tiên được mở miễn phí và khóa học thứ hai về xử lý code trùng lặp trước khi học khóa này.

Kế hoạch giảng dạy

Có hai cách để đạt được Simple Design như sau.

  1. Loại bỏ mã trùng lặp.

  2. Đồng thời giảm bớt các thành phần cấu thành.

Trong bài giảng trước, chúng ta đã tập trung vào việc loại bỏ code trùng lặp, và trong bài giảng này, chúng ta sẽ tập trung vào việc giảm thiểu các thành phần cấu thành.

Các nguyên tắc để xử lý chất lượng code không chỉ đơn thuần là ghi nhớ, mà phải hiểu được quá trình hình thành các nguyên tắc đó và tại sao chúng lại cần thiết. Vì vậy, trước tiên tôi sẽ giải thích lý do tại sao cần phải giảm các thành phần cấu tạo. Sau đó, chúng ta sẽ lần lượt xem xét thành phần nào cần được ưu tiên giảm thiểu. Chúng ta cũng sẽ tìm hiểu có thể đánh giá kích thước hàm phù hợp - một trong những yếu tố quan trọng trong chất lượng code - dựa trên tiêu chí nào, và cũng sẽ xem xét qua ví dụ về quy trình để đạt được một hàm tốt.

Giờ đây, tôi cũng sẽ giới thiệu ngắn gọn nội dung của cuốn sách Refactoring đang dần trở thành kinh điển, đề cập đến khái niệm lãng phí cần thiết từ góc độ kỹ thuật công nghiệp, và cuối cùng kết thúc bằng cách xem xét phương pháp đánh giá và cải thiện chất lượng code của bản thân và team.

Mục lục như sau.

  1. Những thành phần cấu thành nào cần được rút gọn?

  2. Tại sao phải rút gọn?

  3. Nên bắt đầu giảm từ thành phần nào?

    1. Quý

    2. Trạng thái

    3. Mã xử lý ngoại lệ

    4. Test case

  4. Độ sâu của call stack và kích thước hàm phù hợp

  5. Giảm thiểu các thành phần thông qua Bad smell của Refactoring

  6. Lãng phí cần thiết

  7. Nhìn lại chất lượng code của tôi

Khóa học này cũng đi kèm với nhiều ví dụ phong phú. Các ví dụ chủ yếu sử dụng ba ngôn ngữ: Python, TypeScript và Java, và sẽ rất thú vị khi xem chúng khác nhau như thế nào giữa các ngôn ngữ.

Số lượng thành phần cũng là vấn đề liên quan trực tiếp đến hiệu quả sử dụng AI. Các LLM lập trình đều có chính sách tính phí theo số lượng token, do đó khi số lượng thành phần giảm thì số lượng token cần sử dụng cho LLM cũng giảm theo và nhờ đó AI có thể làm việc hiệu quả hơn.

Làm thế nào để dễ dàng bảo trì các dự án quy mô lớn? Cách tốt nhất là giữ cho dự án của chúng ta ở quy mô nhỏ để không trở thành dự án quy mô lớn. Tôi đã làm việc ở các công ty có quy mô đa dạng từ doanh nghiệp lớn đến startup, và cũng đã thực hiện nhiều dự án tư vấn, outsourcing, tôi thường xuyên thấy các phần mềm cung cấp chức năng rất tương tự nhau nhưng quy mô code lại chênh lệch hơn 10 lần. Điều đó có nghĩa là có công ty đang làm cùng một việc nhưng tốn gấp 10 lần chi phí so với công ty khác. Tuy nhiên, nếu chỉ cố gắng giải quyết vấn đề bằng cách chia nhỏ mà không cố gắng giảm tổng lượng code, thì thường chỉ làm tăng thêm giao tiếp giữa các team mà năng suất không được cải thiện. Nếu nhạy cảm hơn với lượng code và số lượng thành phần cấu tạo, và cố gắng giảm thiểu chúng, sẽ có ngày bạn cảm thấy việc bảo trì dự án dài hạn trở nên dễ dàng.

Hãy cùng thành thạo phần giới thiệu về Simple Design và chuẩn bị tiến lên cấp độ cao hơn.


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

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

  • Một lập trình viên đang tham gia vào dự án ngày càng phát triển chậm lại

  • Người muốn làm code gọn gàng hơn nhưng không biết phải làm thế nào

  • Người đang tìm kiếm tiêu chuẩn khách quan hơn về chất lượng code

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

  • Nên xem trước bài 1, 2 của khóa Giới thiệu Simple Design.

  • Hiểu biết về refactoring, phát triển hướng kiểm thử (TDD) và lập trình cực hạn (Extreme Programming) sẽ rất hữu ích.

Xin chào
Đây là

1,977

Học viên

58

Đánh giá

1

Trả lời

4.9

Xếp hạng

4

Các khóa học

대한민국에서 가장 폭넓은 경험을 가진 개발자입니다. 직접 창업한 스타트업, 소규모 스타트업에서부터 네이버, 카카오, 엔씨소프트 등 대기업까지 다양한 규모의 기업, HTML과 CSS에서 시작해서 프론트엔드, 백엔드, 시스템 프로그래밍, 하드웨어 제어, DevOps까지 다양한 기술, 커머스, 세무회계, 광고산업, 생산성 툴, 공공프로젝트 등 다양한 비즈니스 도메인을 경험했습니다.

또한, 많은 기업에서 CTO를 맡으며 팀원들의 강력한 지지를 받았고, 여러 번 실패했던 프로젝트를 이어 받아 살려낸 사례를 통해 해결사 역할도 많이 요청 받고 있습니다.

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

Tất cả

7 bài giảng ∙ (2giờ 36phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Ưu đãi có thời hạn, kết thúc sau 6 ngày ngày

5.500 ₫

50%

238.972 ₫

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

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