HackerRank là gì? Lời khuyên khi tham gia HackerRank

Website truongthinh.info có bài HackerRank là gì? Lời khuyên khi tham gia HackerRankHackerRank là nền tảng để luyện tập code, theo như lời giới thiệu của những người sáng lập ra nó thì đây là nơi mà các lập trình viên từ khắp nơi trên thế giới tụ họp lại để giải quyết những vấn đề trong lĩnh vực khoa học máy tính.

HackerRank là gì?

HackerRank là nền tảng để luyện tập code, theo như lời giới thiệu của những người sáng lập ra nó thì này là chỗ mà các lập trình viên từ mọi nơi trên thế giới tụ họp lại để xử lý những vấn đề trong ngành khoa học máy tính như thuật toán, học máy, trí óc nhân tạo cũng giống thực hành các mô hình lập trình khác nhau như lập trình hướng chức năng.

Không chỉ vậy, HackerRank còn dần trở thành nền tảng để các công ty, nhà phỏng vấn kiểm tra kỹ năng code của ứng viên. Thật tiện dung khi vừa cũng có thể có thể học code lại cũng đều có thể show luôn kết quả cho nhà phỏng vấn ở cùng một nơi.

Bạn đoái hoài có thể truy cập website HackerRank.com để tham gia và tìm hiểu thử nhé.

Tuy nhiên, có 1 số vấn đề bạn cần lưu ý khi thi hành code trên nền tảng này, đây là lời chỉ bảo của Devon Campbell, một nhà phát triển web đến từ Seattle, được đăng trên trang dev.to mà tôi đã lược dịch lại để các bạn đọc.

Lưu ý khi học code trên HackerRank

  function Rectangle(a, b) { }  

Đây là dòng trước mắt của 1 hàm mà họ đòi hỏi bạn viết trong 10 Days of Javascript. Viết đối tượng hình chữ nhật nằm là ngày thứ 4 trong 10 ngày. Hầu hết các coder sẽ dùng tiếp dòng đầu tiên này và điền vào chỗ trống những gì không đủ giữa hai dấu {}. Đây có lẽ cũng là điều mà HackerRank mong đợi.

Nhìn dòng đầu tiên này thì bạn cũng có thể hiểu rằng a là một cạnh của hình chữ nhật và b là cạnh còn lại. Nếu bạn đọc miêu tả đề bài, thì sẽ biết rõ ràng rằng a là bề dài của hình chữ nhật và b là chiều rộng.

Tại sao lại cần bí mật?

Batman cần giữ bí mật danh tính của mình vì anh thường dành buổi tối để làm những việc phạm pháp, dù đó là việc tốt, anh ấy vẫn có thể bị bắt. Để có thể được tự do và mang đến công lý cho người khác, anh ấy chẳng thể để người khác biết rằng mình chính là Bruce Wayne.

Nhưng, a b ở đây không cần giữ bí mật danh tính thực sự của chúng (chiều dài và chiều rộng của hình chữ nhật). Trên thực tế, mọi thứ những gì chúng sẽ làm trong hàm đây là chiều dài và bề rộng của hình chữ nhật. Điều đó có tức là chúng không càng phải là a b . Vậy tại sao chiều dài chẳng thể là length (chiều dài trong tiếng Anh) và chiều rộng là width (chiều rộng)?

Tác hại của cách đặt tên đó là gì?

Trong bài tập HackerRank này, bạn sẽ chỉ viết vài dòng code thôi. Chưa kể hai tham số logic duy nhất để tạo một hình chữ nhật là chiều dài và bề rộng của nó. Bạn cũng đều có thể sẽ không quên a và b là gì trong khúc code. Mặc dù vậy, không những có độc giả code của bạn, vẫn còn những người khác nữa và cũng có thể có thể nhiều người trong các họ không thể biết được a và b là gì.

Bạn cũng đều có thể cảm thấy đoạn code rất ngắn gọn và thông minh, và hình như HackerRank làm vậy rất ổn.

OK, nhưng nghĩ một chút xem, trong công việc có khi nào bạn viết app, chương trình nào và lại có ít code như vậy không? Nếu là một phần mềm có 10.000 dòng mã, mỗi hàm có những tham số với chữ cái a, b, c, d, e thì câu truyện sẽ rất khác. Bạn có thể đọc hiểu code này vì bạn viết ra nó, nhưng nếu ai đó được bàn giao code này từ bạn có lẽ họ sẽ vừa đọc vừa chửi thầm trong bụng.

Bạn cũng đều có thể nghĩ Devon khó tính hoặc tìm đúng thí dụ tệ nhất trên nền tảng này để chê bai. Tất nhiên, không phải mọi bài tập trên HackerRank đều sử dụng tên biến tối nghĩa, nhưng có nhiều bài tập như vậy. Đây là một tỉ dụ khác:

  'use strict'; process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', inputStdin => { inputString += inputStdin; }); process.stdin.on('end', _ => { inputString = inputString.replace(/s*$/, ''). split('n'). map(str => str.replace(/s*$/, '')); main(); }); function readLine() { return inputString[currentLine++]; } // Complete the minimumBribes function below. function minimumBribes(q) { } function main() { const t = parseInt(readLine(), 10); for (let tItr = 0; tItr parseInt(qTemp, 10)); minimumBribes(q); } }  

Nhiều biến trong code trên không hề dễ hiểu, t là gì, q là gì, n là gì, tItr là gì… Mục đích chính mà người sáng tác muốn nói ở đây chỉ là hãy đặt tên biến cho rõ ràng, hãy viết code sao cho ai mới đọc cũng cũng có thể có thể tưởng tượng được hàm này làm gì, biến đây là cái gì mà thôi. Vì sao luôn phải như vậy?

Viết code là dành riêng cho nhân loại

Bạn có thể cho là code dành riêng cho máy tính. Không phải đâu. Code dành riêng cho con người. Nếu nó dành riêng của máy tính, chúng ta chẳng cần ngôn ngữ cấp cao như Javascript hay Python.

Hãy ghi nhớ điều ấy khi bạn viết code: Viết làm sao để người khác đọc code bạn viết mà người ta hiểu được. Các tên biến, tham số và hàm nên chứa càng nhiều ngữ cảnh càng tốt để giúp người đọc hiểu những gì họ đã đọc. a là một tên biến rất tệ. legnth là tên biến tốt và lengthInInches thậm chí còn tốt hơn (nếu bạn mong ngóng phép đo được xem bằng inch). Nếu code thay đổi, hãy đáp ứng bạn cập nhật các tên đã đặt để phản ánh những gì chúng đại diện.

Vì HackerRank là một công ty lớn, có uy tín, nên việc bạn có code được đánh giá tốt trên nền tảng này cũng khiến các nhà tuyển dụng chú trọng hơn.

Chỉ là, khi bạn thực hiện trên HackerRank, hãy rèn cho mình thói quen tái cấu trúc những cái tên vô nghĩa khủng khiếp thành một cái tên có thể truyền đạt ý nghĩa và bối cảnh luôn phải có để đọc code. Khi bạn làm việc với những dự án bên phía ngoài nền tảng, đừng để cho vấn đề đặt tên tối nghĩa làm hại code của bạn và đem lại cho bạn danh tiếng là một dev viết code không thể đọc nổi.

Bằng cách luôn tâm niệm rằng viết code là để cho người đến sau bạn có thể đọc, bạn không chỉ tạo sự dễ dàng cho những nhà phát triển khác làm việc với bạn mà còn làm cho khách hàng muốn thuê lại bạn và giới thiệu bạn với những công ty khác cần bạn giúp đỡ.

Có một bình luận vui dưới bài rằng: Khi bước chân vào nghề mình đã được bảo rằng: “code ra sao để gã sau vào cũng có thể đọc hiểu” và “hãy mường tượng người thừa kế đống code của bạn là một gã to cao, nóng tính, biết rõ bạn đang ở đâu” (Nếu hắn đọc không hiểu sẽ tìm về nhà rồi cho bạn một trận – người dịch).

> > 10 lời khuyên có ích dành cho những lập trình viên mới vào nghề

Từ khóa bài viết: truongthinh.info, hackerrank, hackerrank là gì, lưu ý khi code trên hackerrank, Devon Campbell, lời khuyên cho coder, lập trình trên hackerrank, tham gia hackerrank

Bài viết HackerRank là gì? Lời khuyên khi tham gia HackerRank được tổng hợp và biên tập bởi: truongthinh.info. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho truongthinh.info để điều chỉnh. truongthinh.info xin cảm ơn.