Mã nguyên mẫu là gì?

Mã nguyên mẫu là văn bản ngôn ngữ máy tính mà bạn có thể sử dụng lại mà không cần thay đổi hoặc chỉ cần thay đổi ít trong một số ngữ cảnh khác nhau. Thuật ngữ này bắt nguồn từ quản lý tài liệu, trong đó bạn sử dụng lại các mẫu tài liệu hoặc nguyên mẫu với những thay đổi tối thiểu cho các tình huống khác nhau. Ví dụ: luật sư sử dụng nguyên mẫu hợp đồng mà họ có thể nhanh chóng tùy chỉnh cho khách hàng trong các lĩnh vực khác nhau. Tương tự, các nhà phát triển phần mềm sử dụng lại mã nguyên mẫu với những thay đổi nhỏ trong nhiều mô-đun chương trình khác nhau. Với một số ngôn ngữ lập trình hiện đại, bạn có thể giảm thiểu mã nguyên mẫu bằng cách gói gọn mã này trong các chức năng, lớp và các cấu trúc lập trình khác.

Mã nguyên mẫu có những lợi ích gì?

Mã nguyên mẫu bao gồm từ định nghĩa đơn giản đến các chức năng phần mềm thực hiện các tác vụ cụ thể. Khi phát triển ứng dụng, các lập trình viên sẽ viết các mã có thể được lặp lại một cách không cần thiết. Các nhà phát triển sử dụng mã nguyên mẫu để lập trình hiệu quả hơn trong khi vẫn đảm bảo chất lượng phần mềm.

Tiếp theo, chúng tôi sẽ chia sẻ một số lợi thế của mã nguyên mẫu. Các mã này có thể là trợ thủ tuyệt vời khi bạn sử dụng một cách thích hợp.

Cho phép sử dụng lại mã

Mã nguyên mẫu là công cụ để lập trình sao cho có thể sử dụng lại, trong đó các nhà phát triển có thể áp dụng các mã đã viết trước đó trong các mô-đun tiếp theo do họ tạo ra. Khi lập trình, các nhà phát triển có thể xác định mã có vẻ lặp lại nhiều lần và chuyển đổi mã đó thành nguyên mẫu. Thay vì viết toàn bộ mã nguồn từ đầu, họ sao chép và dán các mã nguyên mẫu khi cần và nếu cần. 

Cung cấp các giải pháp có thể áp dụng

Mã nguyên mẫu cung cấp tham chiếu cho các nhà phát triển khi họ viết các chức năng phần mềm mà họ không thành thạo. Thông thường, các nhà phát triển sẽ cần phải viết toàn bộ mã từ đầu và kiểm thử xem mã đó có hoạt động hay không. Giờ thì không cần phải làm như vậy nữa.

Ví dụ: bạn có thể sử dụng nguyên mẫu cho các trang web khi bắt đầu một dự án phát triển web. Bạn không cần phải tạo lại cấu trúc HTML cơ bản mà mọi trang web đều yêu cầu.

Cho phép chia sẻ kiến thức

Các nhà phát triển liên tục cải thiện mã của họ khi thực hiện kiểm thử phần mềm và kiểm tra chất lượng. Họ có thể sử dụng nguyên mẫu để hợp nhất những cải tiến này.

Ví dụ: mỗi khi phát hiện ra lỗi trong mã nguyên mẫu, lập trình viên có thể thực hiện các cải tiến và ghi lại những thay đổi đối với nguyên mẫu. Cách này sẽ giúp ích cho mọi lập trình viên áp dụng mã có thể sử dụng lại đó thông qua tối ưu hóa. 

Cải thiện chất lượng mã

Mã nguyên mẫu làm giảm nguy cơ lỗi lập trình và cải thiện chất lượng phần mềm. Khi sử dụng mã nguyên mẫu, bạn sẽ kích hoạt các chức năng phần mềm bằng các mã đã được kiểm thử toàn diện. Chỉ cần viết một vài dòng mã để thêm chức năng tùy chỉnh hoặc chức năng phụ cho phần mềm.

Hơn nữa, việc sử dụng nguyên mẫu lập trình giúp các nhóm phần mềm duy trì một tiêu chuẩn lập trình phù hợp và các kiểu ngôn ngữ lập trình nhất quán trên mã nguồn.  

Giảm thời gian lập trình

Việc lập trình nguyên mẫu sẽ đơn giản hóa quá trình phát triển phần mềm bằng cách loại bỏ nhu cầu lặp lại mã một cách không cần thiết. Với các mã có thể sử dụng lại, ngay cả các nhà phát triển chưa có kinh nghiệm cũng có thể nhanh chóng bắt đầu các dự án tương tự mà không cần phải học nhanh kỹ năng mới. Họ có thể chèn và sử dụng nguyên mẫu với ít thay đổi hoặc không cần thay đổi để thêm các chức năng phần mềm mà thường cần nhiều thời gian hơn để xây dựng. 

Một số ví dụ về mã nguyên mẫu?

Nguyên mẫu là các phần mã mà bạn có thể sử dụng để cải thiện hiệu quả và chất lượng lập trình trong nhiều ứng dụng và ngôn ngữ lập trình. Tiếp theo, chúng tôi sẽ chia sẻ một số ví dụ.

Khai báo lớp

Nguyên mẫu được sử dụng nhiều trong lập trình theo định hướng đối tượng (OOP) và các ngôn ngữ lai đại diện cho đối tượng có các lớp.

Hãy xem xét đoạn mã sau đây. Cả getNamesetName đều là các mã nguyên mẫu mà các nhà phát triển có thể gọi trong nhiều khai báo lớp Khách hàng mà không cần viết lại mã:

public class Customer{

private String name; 

   

  public String getName() {

     return name;

  }

  public void setName(String name) {

     this.name = name;

  }

   }

Gói gọn chức năng

Bạn cũng có thể sử dụng nguyên mẫu để gói gọn một chức năng phần mềm thường được lặp lại trong một ứng dụng.

Ví dụ: đoạn mã sau đây hiển thị mã có thể được sử dụng lại mà các nhà phát triển có thể gọi để mở và đọc tệp. Các nhà phát triển có thể sao chép và dán toàn bộ mã và đưa vào các mã của riêng họ để xử lý thông tin được trích xuất:

try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {

    String text;

    while (Objects.nonNull(text = reader.readLine())) {

      // insert code to process read info

    

    }

} catch (IOException e) {

  String message = String.format(“read file(%s) exception”, fileName);

log.error(message, e);

  throw new ExampleException(message, e);

}

Mẫu trang web

Các nhà phát triển web sử dụng nguyên mẫu làm mẫu để xây dựng trang web. Thông thường, nguyên mẫu bao gồm các khai báo meta, cấu hình mặc định và thẻ mà họ có thể sửa đổi.

Mã nguyên mẫu sau đây là một ví dụ về nội dung các nhà phát triển có thể sử dụng để tạo trang web trống:

<!DOCTYPE html>

<html lang="en">

 <head>

   <meta charset="UTF-8">

     <meta name="viewport" content="width=device-width, initial-scale=1.0">

     <meta http-equiv="X-UA-Compatible" content="ie=edge">

     <title>Tiêu đề trang web</title>

     <link rel="stylesheet" href="style.css">

 </head>

 <body>

<script src="index.js"></script>

 </body>

</html>

Quản lý cơ sở dữ liệu

Hầu hết các ứng dụng đều lưu trữ và xử lý dữ liệu trong cơ sở dữ liệu. Các nhà phát triển sử dụng nguyên mẫu tương tự như đoạn mã sau để đơn giản hóa mã cho các kết nối cơ sở dữ liệu và truy vấn dữ liệu. Họ có thể điền cấu trúc mã chuẩn hóa với các chức năng quản lý dữ liệu được tùy chỉnh mà họ có thể lặp lại trong toàn bộ ứng dụng. Dưới đây là một ví dụ:

public class Database { 

private Connection conn; 

public void connect() { 

// insert codes for database connection

public void disconnect() { 

// insert codes for database disconnection

public ResultSet runQuery(String query) 

// insert codes to run a query

return null; 

}

}

Nên sử dụng mã nguyên mẫu khi nào và như thế nào?

Do nguyên mẫu có tính linh hoạt nên được các nhà phát triển sử dụng cho nhiều loại dự án với quy mô đa dạng. Tiếp theo, chúng tôi sẽ trình bày một số kịch bản mà bạn có thể hưởng lợi từ mã nguyên mẫu.

Tạo khung

Tạo khung là quy trình sử dụng mã nguyên mẫu cho các tình huống cơ bản không bao gồm các yếu tố trừu tượng hoặc tích hợp các thành phần phần mềm phức tạp.

Trong các dự án nhỏ hơn, việc tạo khung cung cấp một cấu trúc cơ bản để các nhà phát triển có thể tập trung vào việc kết hợp các tính năng mới và logic kinh doanh. Quy trình này cho phép các nhà phát triển sử dụng gần như tất cả các mã mà hầu như không cần sửa đổi để tạo phần mềm hoặc ứng dụng web.

Chia sẻ mã

Một số nhà phát triển xây dựng và chia sẻ mã nguyên mẫu của họ với cộng đồng phát triển. Họ cho phép tải nguyên mẫu xuống và khuyến khích thảo luận để cải thiện mã cơ bản.

Trong khi đó, một số tổ chức tạo ra nguyên mẫu của riêng họ để hỗ trợ các dự án phát triển quy mô lớn. Các mã nguyên mẫu này phức tạp hơn và có các yêu cầu sau:

  • Bao gồm các mã được ghi chép cẩn thận để các nhà phát triển có thể dễ dàng sử dụng lại
  • Tuân thủ các phương pháp và cấu trúc lập trình tiêu chuẩn để duy trì tính nhất quán
  • Cung cấp các công cụ để thiết lập, tạo mẫu và kiểm thử việc sử dụng nguyên mẫu trong mã nguồn
  • Bao gồm hỗ trợ các mô-đun API để bên thứ ba tích hợp
  • Điều chỉnh quy mô trong môi trường cộng tác

Tính nhất quán của mã

Không có quy tắc nghiêm ngặt nào về thời điểm tạo và sử dụng nguyên mẫu trong mã của bạn. Tuy nhiên, nếu bạn đang viết một mã hàm nhiều lần trong ứng dụng thì nên chuyển đổi mã đó thành nguyên mẫu.

Khi sử dụng nguyên mẫu, bạn có thể sao chép chức năng phần mềm một cách nhất quán, đồng thời giảm rủi ro mắc lỗi lập trình. Dưới đây là một số ví dụ:

  • Các lập trình viên sử dụng nguyên mẫu để chèn các khai báo mở đầu tương tự trên đầu các tệp nguồn của họ
  • Các lập trình viên chưa có kinh nghiệm sử dụng nguyên mẫu đã được chứng minh trên thực tế trong các dự án có liên quan và tương tự làm ví dụ, sau đó sửa đổi các nguyên mẫu đó
  • Các nhà phát triển gọi các chức năng phần mềm được gói gọn trong một lớp Java với nguyên mẫu thay vì viết các mã lặp lại cho các mục đích tương tự

Khi nào bạn không nên sử dụng mã nguyên mẫu?

Mặc dù mã nguyên mẫu giúp tối ưu hóa quá trình phát triển phần mềm nhưng có những tình huống trong đó các cách tiếp cận thay thế sẽ phù hợp hơn.

Nguyên mẫu không nên thay thế các chức năng

Không nên sử dụng nguyên mẫu thay vì các chức năng phần mềm. Nếu lập trình viên phải viết nhiều mã mặc dù áp dụng một nguyên mẫu thì nên viết một chức năng gốc. Tương tự như vậy, việc tạo một chức năng phần mềm là lựa chọn phù hợp hơn nếu bạn sửa đổi nhiều cấu trúc của nguyên mẫu. 

Nguyên mẫu không nên thay thế các khung

Khung là tập hợp các thành phần phần mềm có thể sử dụng lại, giúp phát triển ứng dụng mới hiệu quả hơn. Hãy sử dụng khung thay vì nguyên mẫu nếu bạn cần một cấu trúc tạo sẵn chứa tất cả các ngăn xếp công nghệ cần thiết cho nhu cầu dự án của bạn. Khung cho phép bạn chuẩn hóa toàn bộ dự án.

Ngược lại, mã nguyên mẫu sẽ hữu ích hơn trong việc đơn giản hóa các phần của mã. Ví dụ: các nhà thiết kế web có thể sử dụng mã nguyên mẫu để cung cấp các chức năng PHP đơn giản. Và họ có thể sử dụng khung để thêm nội dung cho trang web sẵn sàng xuất bản.

Tìm hiểu về khung »

Nguyên mẫu không nên gia tăng độ phức tạp của mã

Hãy chú ý đến tình trạng trùng lặp mã khi bạn sử dụng nguyên mẫu cho các chức năng phần mềm. Nếu lặp quá nhiều lần sẽ dẫn đến mã xuất hiện quá nhiều.

Ví dụ: xem xét tình huống trong đó bạn sử dụng cùng một bản sao mã thực hiện các cuộc gọi API đến các dịch vụ bên ngoài nhiều lần. Thay vào đó, việc trích xuất các bản sao vào một lệnh gọi thủ tục mới sẽ hiệu quả hơn để cải thiện việc bảo trì mã và giảm kích thước ứng dụng. 

Tương tự, một số dự án cần linh hoạt hơn khi áp dụng các thay đổi công nghệ. Mã nguyên mẫu có thể không hỗ trợ các yêu cầu ngoài mục đích xây dựng mã đó. Trong những trường hợp như vậy, nên phát triển các thành phần phần mềm từ đầu hoặc sử dụng các khung có sẵn. 

AWS có thể hỗ trợ các yêu cầu mã nguyên mẫu của bạn như thế nào?

Công nghệ đám mây giúp mọi người đều có thể phát triển ứng dụng. Thông qua các nhà cung cấp như Amazon Web Services (AWS), bạn có quyền truy cập tài nguyên cơ sở hạ tầng theo yêu cầu. Tuy nhiên, quy trình xây dựng các ứng dụng phần mềm thông thường vẫn yêu cầu các nhà phát triển dành thời gian viết các phần nguyên mẫu của mã. Và các phần này không trực tiếp liên quan đến các vấn đề cốt lõi mà các nhà phát triển muốn giải quyết.

Ngay cả những nhà phát triển có kinh nghiệm nhất cũng khó theo kịp nhiều ngôn ngữ lập trình, khung và thư viện phần mềm. Và họ phải thực hiện theo cú pháp lập trình chính xác và phương pháp lập trình phù hợp nhất. Do đó, các nhà phát triển có thể dành nhiều thời gian để tìm kiếm và tùy chỉnh các đoạn mã từ web. 

Amazon CodeWhisperer là công nghệ đồng hành trong lập trình trí tuệ nhân tạo (AI) giúp cải thiện hiệu quả lập trình. Công nghệ này được đào tạo trên hàng tỷ dòng mã và có thể tạo ra các đề xuất mã từ đoạn mã cho đến các chức năng đầy đủ theo thời gian thực. Và tất cả đều dựa trên nhận xét của bạn và mã hiện có.

Với CodeWhisperer, các nhà phát triển của bạn có thể tập trung vào môi trường phát triển tích hợp (IDE). Họ có thể tận dụng các đề xuất phù hợp với ngữ cảnh theo thời gian thực, vốn đã được tùy chỉnh và sẵn sàng sử dụng. Với ít yếu tố gây phân tâm hơn và các đề xuất sẵn sàng sử dụng theo thời gian thực, các nhà phát triển có thể hoàn thành các tác vụ lập trình nhanh hơn và gia tăng năng suất.

Bắt đầu lập trình với sự hỗ trợ của AI trên AWS bằng cách tạo tài khoản ngay hôm nay.

Các bước tiếp theo trên AWS

Tham khảo các tài nguyên bổ sung liên quan đến sản phẩm
Tham khảo Dịch vụ công cụ dành cho nhà phát triển 
Đăng ký tài khoản miễn phí

Nhận ngay quyền sử dụng Bậc miễn phí của AWS.

Đăng ký 
Bắt đầu xây dựng trong bảng điều khiển

Bắt đầu xây dựng trong AWS Management Console.

Đăng nhập