Mã tự viết dễ đọc và duy trì hơn
Tuân theo Nguyên tắc tối thiểu hóa và giới luật về tài liệu mã : sử dụng một biến cho một mục tiêu, để cả hai sử dụng dễ hiểu và mã dễ đọc mà không cần giải thích.
Mã cấu trúc chính xác dễ dàng hơn (do đó rẻ hơn) để (Re) sử dụng
Ngoài ra, ở đây nó sẽ xuất hiện query
luôn được sử dụng để chuẩn bị một tuyên bố trước khi thực hiện nó. Đó có thể là một dấu hiệu cho thấy bạn muốn cấu trúc lại một phần của mã này thành một (hoặc nhiều) phương thức trợ giúp để chuẩn bị và thực hiện truy vấn (để tuân thủ nguyên tắc DRY ).
Bằng cách này, bạn sẽ có hiệu quả:
- chỉ sử dụng một biến trong phương thức trợ giúp của bạn để xác định truy vấn của bối cảnh hiện tại,
- cần nhập ít mã hơn mỗi lần bạn muốn thực hiện lại truy vấn,
- làm cho mã của bạn dễ đọc hơn cho người khác.
Ví dụ:
Hãy xem xét điều này, lấy từ ví dụ của bạn, trong đó phiên bản tái cấu trúc rõ ràng là tốt hơn. Tất nhiên đoạn trích của bạn chỉ là một ví dụ cho mục đích của câu hỏi này, nhưng khái niệm này vẫn đúng và quy mô.
Ví dụ của bạn 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
Ví dụ 2 của bạn:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
Ví dụ 3 (Mã giả tái cấu trúc):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
Lợi ích cho thấy với việc tái sử dụng thường xuyên.
Giai thoại cá nhân
Ban đầu, tôi bắt đầu là một lập trình viên C làm việc với bất động sản màn hình hạn chế, do đó, việc sử dụng lại các biến có ý nghĩa cho cả mã được biên dịch (trước đó) và để cho phép nhiều mã hơn có thể đọc được cùng một lúc.
Tuy nhiên, sau đó đã chuyển sang các ngôn ngữ cấp cao hơn và tiếp tục lập trình chức năng, tôi có thói quen sử dụng các biến không thay đổi và các tham chiếu bất biến bất cứ khi nào có thể để hạn chế tác dụng phụ.
Có gì trong đó cho tôi?
Nếu bạn có thói quen có tất cả các yếu tố đầu vào của chức năng là bất biến và để trả về một kết quả mới (như một hàm toán học thực sự), bạn sẽ có thói quen không sao chép các cửa hàng.
Bằng cách mở rộng, điều này dẫn đến:
- bạn viết các hàm ngắn
- với các mục tiêu được xác định rõ,
- dễ hiểu hơn
- tái sử dụng,
- để mở rộng (cho dù bằng kế thừa OO hoặc bằng chuỗi chức năng),
- và tài liệu (như đã tự viết tài liệu).
Tôi không nói rằng không có lợi cho trạng thái có thể thay đổi ở đây, tôi chỉ chỉ ra cách thói quen có thể phát triển trên bạn và cách nó ảnh hưởng đến khả năng đọc mã.