Tôi thực sự thích các tiêu chuẩn phong cách sau, như được chỉ định trong PEP 8. Tôi có một linter tự động kiểm tra, và chắc chắn mã của tôi tốt hơn nhiều vì điều đó.Căn chỉnh của bài tập (kiểu)
Chỉ có một điểm trong PEP 8, E251 & E221 không cảm thấy rất tốt. Đến từ nền JavaScript, tôi đã sử dụng để căn chỉnh các bài tập biến như sau:
var var1 = 1234;
var2 = 54;
longer_name = 'hi';
var lol = {
'that' : 65,
'those' : 87,
'other_thing' : true
};
Và theo ý kiến khiêm tốn của tôi, điều này cải thiện khả năng đọc đáng kể. Vấn đề là, đây là dis-khuyến cáo của PEP 8. Với bộ từ điển, mà không phải là xấu vì không gian được phép sau dấu hai chấm:
dictionary = {
'something': 98,
'some_other_thing': False
}
tôi có thể "sống" với các bài tập biến mà không cần sự liên kết, nhưng những gì tôi don' t như ở tất cả không phải là để có thể vượt qua đối số tên trong một cuộc gọi chức năng, như thế này:
some_func(length= 40,
weight= 900,
lol= 'troll',
useless_var= True,
intelligence=None)
vì vậy, những gì tôi sẽ chỉ làm được bằng cách sử dụng từ điển, như sau:
specs = {
'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None
}
some_func(**specs)
hoặc chỉ si mply
some_func(**{'length': 40,
'weight': 900,
'lol': 'troll',
'useless_var': True,
'intelligence': None})
Nhưng tôi cảm thấy công việc này chỉ tồi tệ hơn là bỏ qua PEP 8 E251/E221.
Phương pháp hay nhất là gì?
EDIT nhiều năm sau
Đừng sắp xếp. Sớm hay muộn một biến mới dài hơn sẽ đến và bạn sẽ phải nhấn phím dài ở đây và ở đó một lúc cho đến khi mọi thứ trở lại tốt đẹp. Không đáng.
Cách tốt nhất là tuân theo PEP 8. Được sử dụng để không căn chỉnh toán tử gán và giá trị từ điển. Ý kiến khiêm tốn của bạn có thể dễ dàng thay đổi nếu phải làm việc với nó mỗi ngày. – delnan
Bạn thậm chí có thể chuyển đối số theo tên trong Javascript không? Vậy tại sao bạn lại làm điều kinh khủng này? – jadkik94
Trong JS là một thực hành tốt để vượt qua một đối tượng thông số kỹ thuật thay vì 15 đối số đã ra lệnh. Douglas Crockford dixit, và tôi hoàn toàn đồng ý. – bgusach