2012-02-18 23 views
5

Ví dụ, bây giờ tôi học wxPython, đặc biệt là một lớp init chức năng:Tôi có nên ghi nhớ thứ tự các đối số chức năng khi học một mô-đun mới không?

__init__(self, parent, id=-1, label=EmptyString, pos=DefaultPosition, 
size=DefaultSize, style=0, name=StaticTextNameStr) 

Như một vấn đề của thực hành lập trình tốt, tôi nên ghi nhớ thứ tự của các tham số, hay chỉ là các từ khoá và gọi hàm sử dụng các từ khóa mọi lúc? Có tốt hơn để làm sau này cho dễ đọc?

Trả lời

4

Ghi nhớ? Không. Đó là những gì các tài liệu (bao gồm cả mã nguồn) là có cho.

Điều đó đang được nói, đôi khi việc sử dụng đối số từ khóa giúp mã rõ ràng, đặc biệt đối với các hàm có số lượng tham số lớn. Và bạn nên luôn cố gắng viết mã rõ ràng, đặc biệt là trong Python, nơi mã nguồn có nghĩa là bổ sung tài liệu.

2

Bạn cần phải nhìn vào chữ ký chức năng thực tế, không chỉ là những gì tài liệu tuyên bố nó nên được. Vì phương thức được khai báo là __init__(self, *args, **kwargs), phương thức duy nhất quan trọng đối với vị trí là parent, vì các phương thức khác phải được gọi bằng anyways từ khóa. Bạn có thể muốn theo thứ tự các từ khóa được đưa ra trong tài liệu, chỉ để giảm số lượng bất ngờ khi bạn hoặc người khác xem lại mã.

0

Mozart có thể đã ghi nhớ các thư viện phần mềm hiện đại. Phần còn lại của chúng tôi dựa vào IDE thông minh với hoàn thành mã và tài liệu tham khảo. Điều đó đang được nói, có bạn nên đọc qua các tài liệu để xem những gì đang có, thậm chí có thể ghi chép. Một API được viết tốt (ví dụ: thư viện của Apple) được thiết kế sao cho tên và nguyên mẫu có ý nghĩa và gắn bó với người đọc.

ví dụ:

int main(int argc, char *argv[]); 
-(void)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; 

Và cứ tiếp tục như vậy. Một người phỏng vấn tốt sẽ yêu cầu bạn làm một số trong số này (để anh ấy biết bạn sẽ không dành cả ngày học API) nhưng cũng cung cấp cho bạn một số khoan dung nếu bạn không thể nhớ mọi tham số.

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