2008-09-19 20 views

Trả lời

20

phương pháp Bảng điều khiển là gì được chương trình cho phép bạn tìm kiếm thông tin trong một bảng thay vì sử dụng các câu lệnh logic (ví dụ: case, if). Trong các trường hợp đơn giản, việc sử dụng các câu lệnh logic nhanh hơn và dễ dàng hơn, nhưng khi chuỗi logic trở nên phức tạp hơn, mã điều khiển bảng đơn giản hơn logic phức tạp, dễ sửa đổi và hiệu quả hơn.

tham khảo: McConnell, Steve. Code Complete, Second Edition. Redmond (Washington): Microsoft, 2004. Print. Page 411, Paragraph 1.

+2

Nếu đó là bản sao bị dán, hãy xem xét thêm tham chiếu. – Trix

+0

"phương pháp điều khiển bảng tìm kiếm" – aaaaaa

3

Một phương pháp bảng điều khiển khá đơn giản. Sử dụng cấu trúc dữ liệu thay vì câu lệnh if-then để điều khiển logic chương trình. Ví dụ: nếu bạn đang xử lý hai loại bản ghi (tv so với cáp), bạn có thể thực hiện việc này:

hash[tv] = process_tv_records 
hash[cable] = process_cable_records 

Ở một số ngôn ngữ, như Ruby hoặc Perl, kỹ thuật này rất đơn giản. Trong Java, bạn cần sử dụng Reflection để tìm các phương thức xử lý.

Nếu bạn muốn tìm hiểu về các bảng quyết định, hãy đầu tư vào khung kiểm tra Fitnesse tại http://fitnesse.org/.

6

Video được tham chiếu có Bill Gates đọc từ sách Code Complete của Steve McConnell. Jeff Atwood mentioned this in his blog (the YouTube links match up).

Từ Code Complete, 2nd edition:

Một phương pháp bảng điều khiển là một chương trình cho phép bạn tìm kiếm thông tin trong một bảng hơn là sử dụng báo cáo logic (nếutrường hợp) để tìm ra.

McConnell sử dụng mảng làm "bảng" trong ví dụ của mình, nhưng tôi nghĩ khái niệm có thể được áp dụng cho bảng cơ sở dữ liệu hoặc bất kỳ thứ gì khác giống bảng.

Khái niệm này thực sự được giải thích rõ nhất thông qua ví dụ.

Giả sử bạn đang điều hành một nhà hàng và có số chỗ ngồi khác nhau cho mỗi số bảng.

Logic của bạn để có được số ghế cho một bảng đặc biệt có thể trông giống như

if table number == 1 
    table has 4 seats 
else if table number == 2 
    table has 8 seats 
. . . 

vì vậy nếu bạn có 50 bảng, bạn sẽ có 100 dòng mã chỉ để xác định số lượng ghế.

Sử dụng phương pháp bảng điều khiển, bạn có thể làm cho một mảng với chỉ số đại diện cho số bảng và các giá trị thể hiện số lượng chỗ ngồi, nên logic của bạn thay vào đó sẽ giống như thế

tables [] = {4, 8, 2, 4, ...} 
table seats = tables[table number] 

đó là đơn giản hơn, ngắn hơn và dễ bảo trì hơn.

Các vấn đề liên quan