Thụt lề python so với dấu ngoặc nhọn

Bạn đang đọc ấn bản đầu tiên của Advanced R;

Phong cách mã hóa tốt giống như sử dụng đúng dấu câu. Bạn có thể quản lý mà không cần nó, nhưng nó chắc chắn giúp mọi thứ dễ đọc hơn. Cũng giống như các kiểu chấm câu, có nhiều biến thể có thể xảy ra. Hướng dẫn sau đây mô tả phong cách mà tôi sử dụng (trong cuốn sách này và những nơi khác). Nó dựa trên hướng dẫn kiểu R của Google, với một vài chỉnh sửa. Bạn không nhất thiết phải sử dụng phong cách của tôi, nhưng bạn thực sự nên sử dụng một phong cách nhất quán

Phong cách tốt rất quan trọng bởi vì mặc dù mã của bạn chỉ có một tác giả nhưng nó thường sẽ có nhiều người đọc. Điều này đặc biệt đúng khi bạn đang viết mã với người khác. Trong trường hợp đó, bạn nên thống nhất trước về một phong cách chung. Vì không có phong cách nào hoàn toàn tốt hơn phong cách nào nên làm việc với những người khác có thể đồng nghĩa với việc bạn sẽ cần phải hy sinh một số khía cạnh ưa thích trong phong cách của mình.

Gói formatR, của Yihui Xie, giúp dọn dẹp mã định dạng kém dễ dàng hơn. Nó không thể làm mọi thứ, nhưng nó có thể nhanh chóng đưa mã của bạn từ tệ đến khá tốt. Đảm bảo đọc phần giới thiệu trước khi sử dụng

Ký hiệu và đặt tên

Tên tệp

Tên tệp phải có nghĩa và kết thúc bằng

0-download.R
1-parse.R
2-explore.R
3

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r

Nếu các tệp cần được chạy theo trình tự, hãy thêm tiền tố vào các số

0-download.R
1-parse.R
2-explore.R

Tên đối tượng

“Chỉ có hai điều khó khăn trong Khoa học Máy tính. vô hiệu hóa bộ đệm và đặt tên cho mọi thứ. ”

— Phil Karlton

Tên biến và hàm nên viết thường. Sử dụng dấu gạch dưới (

0-download.R
1-parse.R
2-explore.R
4) để phân tách các từ trong tên. Nói chung, tên biến nên là danh từ và tên hàm nên là động từ. Phấn đấu cho những cái tên ngắn gọn và có ý nghĩa (điều này không dễ dàng. )

# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1

Nếu có thể, tránh sử dụng tên của các hàm và biến hiện có. Làm như vậy sẽ gây nhầm lẫn cho người đọc mã của bạn

# Bad
T <- FALSE
c <- 10
mean <- function(x) sum(x)

cú pháp

khoảng cách

Đặt khoảng trắng xung quanh tất cả các toán tử trung tố (________ 05, ________ 06, ________ 07, _______ 08, v.v. ). Quy tắc tương tự được áp dụng khi sử dụng

0-download.R
1-parse.R
2-explore.R
5 trong các lời gọi hàm. Luôn đặt dấu cách sau dấu phẩy và không bao giờ trước (giống như trong tiếng Anh thông thường)

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
1

Có một ngoại lệ nhỏ đối với quy tắc này.

# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
0,
# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
1 và
# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
2 không cần khoảng cách xung quanh chúng

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
5

Đặt khoảng trắng trước dấu ngoặc đơn bên trái, ngoại trừ trong lệnh gọi hàm

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
6

Khoảng cách thêm (i. e. , nhiều hơn một khoảng trắng trong một hàng) là được nếu nó cải thiện sự liên kết của các dấu bằng hoặc phép gán (

0-download.R
1-parse.R
2-explore.R
8)

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
8

Không đặt khoảng trắng xung quanh mã trong dấu ngoặc đơn hoặc dấu ngoặc vuông (trừ khi có dấu phẩy, trong trường hợp đó, hãy xem ở trên)

# Good
fit-models.R
utility-functions.R

# Bad
foo.r
stuff.r
9

Dấu ngoặc nhọn

Một dấu ngoặc nhọn mở không bao giờ được đi trên một dòng riêng và phải luôn được theo sau bởi một dòng mới. Dấu ngoặc nhọn đóng phải luôn nằm trên một dòng riêng, trừ khi nó được theo sau bởi

# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
4

Luôn thụt lề mã bên trong dấu ngoặc nhọn

0-download.R
1-parse.R
2-explore.R
1

Bạn có thể để lại những câu rất ngắn trên cùng một dòng

0-download.R
1-parse.R
2-explore.R
0

chiều dài dòng

Cố gắng giới hạn mã của bạn ở 80 ký tự trên mỗi dòng. Điều này vừa vặn thoải mái trên một trang in với phông chữ có kích thước hợp lý. Nếu bạn thấy mình sắp hết phòng, đây là một dấu hiệu tốt cho thấy bạn nên gói gọn một số công việc trong một chức năng riêng

thụt đầu dòng

Khi thụt lề mã của bạn, hãy sử dụng hai khoảng trắng. Không bao giờ sử dụng các tab hoặc trộn các tab và dấu cách

Ngoại lệ duy nhất là nếu một định nghĩa hàm chạy trên nhiều dòng. Trong trường hợp đó, hãy thụt lề dòng thứ hai vào vị trí bắt đầu định nghĩa

0-download.R
1-parse.R
2-explore.R
1

Phân công

Sử dụng

0-download.R
1-parse.R
2-explore.R
8, không phải
0-download.R
1-parse.R
2-explore.R
5, để chuyển nhượng

Tổ chức

Hướng dẫn bình luận

Nhận xét mã của bạn. Mỗi dòng của nhận xét phải bắt đầu bằng biểu tượng nhận xét và một khoảng trắng.

# Good
day_one
day_1

# Bad
first_day_of_the_month
DayOne
dayone
djm1
7. Bình luận nên giải thích lý do tại sao, không phải những gì