30/09/2018, 16:25
FizzBuzz: nấc thang lên thiên đường của lập trình viên
FizzBuzz: nấc thang lên thiên đường của lập trình viên
Bài viết được dịch từ blog Coding Horror Lời bàn của Vinacode: Sau khi Jeff Atwood viết bài “Tại sao nhiều lập trình viên lại không biết… code” thì đã tạo ra một “làn sóng” …
Sau khi Jeff Atwood viết bài “Tại sao nhiều lập trình viên lại không biết… code” thì đã tạo ra một “làn sóng” tranh luận tại chính blog Coding Horror và trên các mạng xã hội như Digg, và Reddit. Đã có hàng ngàn giải pháp được viết ra cho bài toán FizzBuzz, trong đó có rất nhiều phần code được viết rất vội vàng nhằm chứng tỏ khả năng của mình. Còn quan điểm của Jeff thì sao?
Bạn hãy đọc tiếp bài viết ở đây nhé: http://bit.ly/1DeWdAP
Bài liên quan
Bài toán FizzBuzz đơn giản nhưng là nấc thang đầu để học TDD và refactor code.
Update cái đề bài
Bài này dễ, nhưng mà hay Thực ra Đạt dính trap bài này. Hôm trước ngồi code tay thì Đạt nghĩ và viết ra ngay như thế này
Nhưng thực tế đây là cách giải tồi, bởi vì đây là một bài toán đơn giản. Nhưng giải thuật lại phức tạp một cách không cần thiết.
Như thế này cũng giải quyết được vấn đề, mà code đơn giản hơn nhiều.
đồn rằng ai mà luyện đc hết đống mã FizzBuzz này sẽ được tôn làm code lâm cao thủ
http://rosettacode.org/wiki/FizzBuzz
Tạm thời nghĩ ra như vầy, đủ ngon lành chưa anh em
OMG
Code của Bác Gnouc Python VIệt Nam
Update, như vầy gọn hơn
Code này có ai chạy thử trên python chưa, thấy hình như thiếu.
Mình thấy có người đưa ra giải pháp thế này:
Thấy cũng
cãi nhautranh luận bên đó, bảo không đọc kĩ đề gì đó, để em xem lạiEm chạy thử nó ra thế này:(có thêm tí số vào cho dễ theo dõi)
Code này em cũng không hiểu lắm , vì chưa đọc tài liệu về kiểu code gọn gọn như này lần nào
Đây là kết quả của code của anh @tranhuanltv
Code chôm trên mạng chứ không phải code của mình hehe
Khả năng 2 code đều chạy tốt ạ, không biết bên C viết gọn lại được thế này không(em nhớ là có cách viết gọn dùng
?
với:
mà). Nhưng mà khả năng là code kiểu này chắc để nghịch thôi, code thật thế này dễ bị thằng review code nó cho ăn dép lắmHehe kệ vậy cứ để vậy cho oách
Bài này đơn giản, nhưng cái quan trọng là code sao cho nó rõ ràng. Nói chung đây là một bài kiểm tra lúc phỏng vấn khá hay
Em thích cách thứ 2 mà anh đạt đưa ra hơn vì nó
Nói chung là đơn giản thật, nhưng mà lúc phỏng vấn, run run đơ đơ khả năng là viết xong rồi mà vẫn soi đi soi lại sợ nhầm (chắc là cũng không cho máy để test nữa )=>thời gian viết code lâu=>LOẠI
Nhưng cách bên python kia nhìn ngầu thấy mồ , 1 line and done !
Bài này code chừng 2 phút chớ mấy. Không khó, cái quan trọng là như Huân nói
Hehe nếu chỉ muốn “ngầu” thì vậy là ngon lành rồi. Nhưng mà professional thì chưa
Em nghĩ FizzBuzz chắc chưa đủ để thể hiện độ pro, phải có dự án vào mới thấy đâu là pro, còn bài này chỉ để nhặt mấy ông gà gà ra thôi
Không phải lúc nào hoặc ai cũng có pet project nên đây cũng là một cách để test. Nhiều bạn mới ra trường ko có pet project lắm ^^
TDD và refactor code là gì vậy anh.
Em nghĩ độ phức tạp của hai giải thuật trên là như nhau,sao bác bảo cái sau đơn giản hơn cái trước nhỉ, có chăng là viết ít dòng hơn??
Một điều nữa là mới đọc đề phải nghĩ đến cái đoạn code thứ 2 trước chứ mình là mình k nghĩ ra nổi cái dài dòng như đoạn thứ nhất.
TDD: Test Driven Development (Tạm hiểu là phương pháp lập trình bằng cách viết Unit Test trước khi code)
Refactoring Code (Tạm hiểu là dọn dẹp mã nguồn lại cho trong sáng, dễ hiểu, không dư thừa, …)