Làm thế nào để viết code sạch
Là nhà phát triển phần mềm, viết code hiển nhiên là nhiệm vụ hàng đầu của chúng ta. Cũng giống như kiến trúc sư, nhiệm vụ của họ là tạo ra những ngôi nhà vừa có thiết kế đẹp mà lại vừa chắc chắn, công việc của chúng ta cũng tương tự như vậy. Chúng ta được thuê để tạo ra những giải ...
Là nhà phát triển phần mềm, viết code hiển nhiên là nhiệm vụ hàng đầu của chúng ta. Cũng giống như kiến trúc sư, nhiệm vụ của họ là tạo ra những ngôi nhà vừa có thiết kế đẹp mà lại vừa chắc chắn, công việc của chúng ta cũng tương tự như vậy.
Chúng ta được thuê để tạo ra những giải pháp tự động nhằm giải quyết các vấn đề đang tồn tại của các ngành nghề khác nhau. Đôi khi, mọi người có xu hướng chỉ đánh giá sản phẩm cuối cùng, đó có thể là ứng dụng/ phần mềm/ giải pháp mà chúng ta đưa cho họ. Tuy vậy, có nhiều việc phải làm trước khi có sản phẩm cuối cùng. Và nền tảng của một sản phẩm hoàn thiện vẫn là code. Khi code được viết tốt, mọi thứ sẽ trở nên trôi chảy hơn.
Vậy làm thế nào để bạn có thể viết ra những đoạn mã đẹp và sạch sẽ? Code của bạn càng sạch sẽ, bạn càng được xem là một người chuyên nghiệp và nó sẽ càng dễ dàng để điểu chỉnh, để khắc phục các lỗi, và phát triển những tính năng mới trong tương lai.
Bạn có quan tâm đến việc viết code sạch không? Nếu có, hãy theo dõi đoạn video bên dưới
Bản dịch từ video trên:
Xin chào, có chuyện gì thế, tôi là John Sonmez của simpleprogrammer.com. Tôi đã nhận được câu hỏi làm thế nào để viết ra những đoạn code sạch. Tôi có thể giúp bạn điều đó. Viết code sạch đó là việc làm tôi tập trung nhiều khi tôi còn là một nhà phát triển phần mềm và tôi nghĩ nó rất quan trọng. Email này đến từ Pratham.
Anh ấy nói: “Xin chào John, tôi là một fan hâm mộ kênh Youtube của anh. Tôi là một lập trình viên Android và đang làm việc tự do. Gần đây, tôi gặp một trở ngại trong việc bổ sung chức năng cho một dự án. Sau quá trình tìm hiểu, tôi biết được Google có các ví dụ mà chức năng được đề cập tại một trong những ứng dụng mã nguồn mở của họ”. Anh ấy nói :“ Khi duyệt qua code của họ, tôi đã bị làm cho kinh ngạc bởi mức độ trừu tượng và cách mà họ sắp xếp mọi thứ. Thậm chí, tôi cảm thấy dường như tôi chưa tiệm cận được trình độ đó. Tôi rất muốn biết, làm thế nào tôi có thể đạt đến trình độ đó. Hiện tại, tôi không còn ngây thơ giống như một năm trước đây, nhưng cái tôi nghĩ tôi thiếu nhất là sự trừu tượng các mã code, tách biệt code và kiểm thử. Anh có đề nghị nào không để tôi có thể tiến lên cấp độ cao hơn? “
Có một vài điều mà tôi nghĩ có thể giúp được. Trước tiên, tôi xin giới thiệu 2 quyển sách. Bạn có lẽ đã có rồi, tôi xin giới thiệu cho những bạn chưa có, quyển đầu tiên là Code Complete của Steve McConnell, đây là cuốn sách thật sự rất hay. Hãy đi mua và đọc nó. Nó sẽ giúp bạn viết code tốt và sạch hơn. Sau đó, bạn sẽ ngạc nhiên với cuốn sách thứ 2 có tên Clean Code của Robert Martin cũng là người đã viết tựa đề cho cuốn sách của tôi – và tôi xem nó như là cố vấn của tôi, thật sự quyển sách này rất tuyệt. Nếu bạn đọc cả 2 quyển sách này và bắt đầu thực hiện những gì mà họ đã nói trong đó, bạn sẽ viết code tốt hơn.
Khả năng viết code của tôi sau khi đọc 2 quyến sách này đã tăng lên 5-6 bậc một cách dễ dàng. Tôi bắt đầu viết code sạch hơn rất nhiều, rất nhiều khái niệm trừu tượng trở nên rõ ràng hơn, tất cả những thứ mà bạn đề cập đến, những loại code mà bạn nhìn dưới góc độ của một người phát triển phần mềm. “Oh, giống như một thi sĩ, tôi có thể đọc nó với một điếu xì gà và một gói Scotch.”. Tôi đang phóng đại một vấn đề nhỏ thôi, nhưng dù sao, thì code của tôi đã trở nên sạch hơn từ việc đọc những quyển sách này.
Điều này mang tôi đến một điểm khác cái mà bạn đang hướng đến. Bạn nhìn code của mình, rồi bạn nhìn code của người khác mà code của họ viết tốt hơn, sạch hơn, mềm dẻo hơn, trừu tượng hơn, hãy học nó. Cố gắng áp dụng nó, chỉnh sửa nó. Nếu bạn đã có sẵn mã nguồn hãy thêm nó vào. Tưởng tượng giống như bạn thực hiện một tính năng mới dựa trên nền code đó – Sau đó hãy bắt đầu áp dụng nó khi bạn triển khai dự án của chính bạn.
Một điều khác mà tôi sẽ nói ở đây là mối liên kết giữa bạn với những nhà phát triển mà họ viết code giỏi. Lập trình cặp là một trong những cách nhanh nhất để học làm thế nào viết ra những đoạn code tốt, hãy ghép đôi với những người viết code tốt. Tìm một ai đó, đề nghị giúp họ miễn phí, hoặc là cùng làm việc với họ, hoặc là một ai đó đang làm việc cùng bạn và bạn sẵn sàng nói với họ “Tôi có thể cùng viết chương trình với bạn không?”, hoặc “Tôi có thể ngồi đây và xem bạn đang làm gì không?” nếu bạn có thể ở phía sau một ai đó, nhìn những gì họ đang làm. Thỉnh thoảng cách nhanh nhất để thu được kiến thức, giống như khi tôi muốn tìm hiểu một kỹ năng mới đó tôi sẽ đi tìm một chuyên gia và nói “Tôi có thể trả tiền cho bạn để xem bạn đang làm gì không?” hoặc “Tôi có thể giúp gì cho bạn không? “, thường bạn sẽ không có cơ hội đó.
Những điều này có thể tạo ra những thay đổi lớn. Bạn thấy ai đó viết code tốt và nếu bạn có thể hỏi được vài câu hỏi, nếu bạn nói ”Oh, thật là thú vị. Tại sao bạn làm điều đó?” không hỏi những câu hỏi như vậy, hãy hỏi về ý tưởng là gì. Khi bạn hiểu được ý tưởng của họ, bạn có thể bắt đầu làm theo ý tưởng đó. Chúng ta rất giỏi bắt chước. Thực tế là chúng ta có những tế bào não có khả năng bắt chước hành vi khi chúng ta nhìn thấy nó. Đó là một trong những điều tuyệt vời của con người. Vì thế, nếu bạn thấy hành động của ai đó và hiểu được những gì họ làm, bạn có thể bắt chước được họ và có thể làm giống vậy một cách chính xác.
Dù sao, tôi nghĩ rằng những điều này là cách tốt nhất để chắc chắn bạn sẽ tốt hơn trong thời gian tới. Miễn sao bạn luôn cố gắng nổ lực không ngừng, bạn sẽ đạt được kết quả tốt, và hãy nhìn vào những tấm gương tốt. Kết nối đến tất cả mọi người mà bạn có thể và đọc 2 quyển sách mà tôi đã giới thiệu với bạn, chúng sẽ giúp bạn viết code tốt hơn, sạch hơn. Chắc chắn thế.
Tốt rồi, đó là tất cả những gì tôi cung cấp cho bạn ngày hôm nay và nếu bạn có thêm câu hỏi nào, thì email cho tôi theo địa chỉ john@simpleprogrammer.com. Tôi sẽ trả lời bạn ở lần kế tiếp. Trân trọng.
Bản dịch của bạn Thien Le (goclaptrinhinfo@gmail.com)
Techtalk via Techmaster