Trong thế giới lập trình, việc viết code sạch và dễ hiểu là điều hết sức quan trọng. Một câu chuyện vui về ThànhCry, lập trình viên tự xưng là thiên tài, sẽ giúp bạn hiểu rõ điều này.
ThànhCry là một lập trình viên mới, luôn tự hào về những đoạn code ngắn gọn và đầy sáng tạo của mình. Anh ta cho rằng việc viết code phức tạp không chỉ thể hiện sự thông minh mà còn khiến anh nổi bật hơn so với đồng nghiệp. Tuy nhiên, điều này đã dẫn anh vào một tình huống không mấy vui vẻ.
Một ngày nọ, sau khi được giao nhiệm vụ cùng Jake5C, ThànhCry phải làm cho người dùng có thể xem sản phẩm từ một file CSV. Dù gặp nhiều lời khuyên từ người lãnh đạo nhóm, anh vẫn kiên quyết làm theo ý mình mà không cần sự trợ giúp từ ai cả.
Khi người lãnh đạo ĐộTộcTrưởng yêu cầu anh chuyển đổi một mảng chuỗi đơn giản như sau:
['1', '5', '11']
ThànhCry rất tự tin và gõ lệnh:
javascript
['1', '5', '11'].map(parseInt)
Kết quả mà anh ta nhận được là một loạt các giá trị không như mong đợi:
[1, NaN, 3]
Làm thế nào mà điều này xảy ra? Nhìn bề ngoài, có vẻ như không có gì sai với cách thức sử dụng map()
và parseInt()
. Nhưng thực tế lại khác biệt hoàn toàn. ThànhCry đã không hiểu rằng parseInt
có thể nhận đến hai tham số và tham số thứ hai sẽ quyết định cơ số cho chuyển đổi. Như vậy, khi dùng map()
, parseInt
thực chất đã được gọi với những chỉ số khác nhau, dẫn đến việc trả về các giá trị không mong muốn.
Một cách an toàn và dễ hiểu hơn là:
javascript
['1', '5', '11'].map(item => parseInt(item, 10))
Việc viết mã như vậy không những giúp tránh lỗi mà còn tăng tính dễ đọc và bảo trì cho đoạn code. Câu chuyện của ThànhCry nhắc nhở chúng ta rằng trong lập trình, sự rõ ràng và dễ hiểu nên được ưu tiên hàng đầu hơn là độ ngắn gọn của code.
Cuối cùng, đừng như ThànhCry, hãy luôn viết code sao cho dễ đọc và dễ hiểu. Điều này không chỉ giúp bạn tiết kiệm thời gian mà còn làm cho cả nhóm làm việc hiệu quả hơn. Chúc các bạn có những trải nghiệm mã hóa thú vị và tuyệt vời trong những dự án tiếp theo!
source: viblo