Học Go qua Tests

Ủng hộ tác giả
Tác giả rất tự hào khi cung cấp những tài nguyên này miễn phí, nếu bạn muốn đóng góp thêm
Phát triển theo hướng kiểm thử (Test-driven development) với Go
Khám phá ngôn ngữ Go thông qua viết test.
Nắm vững nền tảng TDD. Go là một ngôn ngữ lý tưởng để học TDD vì nó dễ học và có hệ thống kiểm thử tích hợp sẵn.
Hãy tự tin rằng bạn sẽ xây dựng các hệ thống Go vững chắc và được kiểm thử cẩn thận ngay từ đầu.
Các bản dịch:
Kinh nghiệm
Tác giả đã giới thiệu Go cho các nhóm phát triển phần mềm cũng như thử nhiều phương pháp giảng dạy khác nhau để giúp họ thành thạo trong việc xây dựng hệ thống chất lượng cao bằng Go.
Những cách không hiệu quả
Đọc sách
Một cách tiếp cận mà tác giả đã thử là sử dụng cuốn sách Go, thảo luận mỗi chương mới cùng với các bài tập mỗi tuần.
Tuy nhiên cách làm này đòi hỏi sự cam kết cao. Cuốn sách này giải thích rất chi tiết về các khái niệm, điều này rất hữu ích, nhưng cũng khiến tốc độ học tập chậm đi - điều này không phù hợp với tất cả mọi người.
Lúc này tác giả nhận ra rằng, trong khi một số ít người thực sự đọc chương X và làm bài tập, thì nhiều người khác lại không theo kịp.
Các vấn đề
Các bài luyện tập lập trình kata rất thú vị, nhưng chúng thường có hạn chế khi học một ngôn ngữ lập trình. Bạn khó có thể sử dụng goroutines để giải một bài tập kiểu này.
Một vấn đề khác là sự chênh lệch về mức độ hứng thú trong học tập. Một số người học và tìm hiểu nhiều hơn những người khác, và khi trình bày bài làm của mình, họ vô tình sử dụng những tính năng mà những người khác chưa từng tiếp xúc, khiến mọi người bị bối rối.
Điều này khiến quá trình học tập trở nên khá thiếu cấu trúc và mang tính tự phát (ad hoc).
Phương pháp hiệu quả
Tác giả khuyến khích học qua thực hành tại go by example so với việc "đọc chương X như bài tập về nhà".
Khi đã xây dựng được nền tảng chắc, từ đó có thể bắt đầu phát triển các hệ thống thực tế.
Phương pháp phù hợp với tác giả
Khi học một ngôn ngữ lập trình mới, tác giả thường bắt đầu bằng cách thử nghiệm trong một môi trường REPL. Nhưng sau cùng, tác giả thấy rằng vẫn cần một cách tiếp cận có cấu trúc hơn.
Các bài kiểm thử giúp tác giả xác minh tính đúng đắn của mã nguồn và còn đóng vai trò như tài liệu về những tính năng đã học.
Từ kinh nghiệm học tập trong nhóm và phương pháp cá nhân của riêng mình, tác giả sẽ cố gắng tạo ra một cách tiếp cận có thể hữu ích cho các nhóm khác. Học các khái niệm nền tảng thông qua việc viết các bài kiểm thử nhỏ, từ đó áp dụng kỹ năng thiết kế phần mềm phù hợp để xây dựng những hệ thống chất lượng.
Đối tượng phù hợp
Những ai muốn học Go
Những người muốn hiểu sâu hơn về Go cũng như kiểm thử
Bạn cần gì?
Một chiếc máy tính!
Trình soạn thảo mã nguồn
Một chút kinh nghiệm lập trình. Hiểu ý tưởng của
if
, biến, hàm,....Biết cách sử dụng terminal
Phản hồi
Thêm issues hoặc tạo PRs tại đây (bản gốc) hoặc tweet tác giả @quii
Dịch giả
Last updated