Như bạn có thể thấy từ các câu trả lời, không có sự đồng thuận về vấn đề này. Trừ khi bạn làm việc theo nhóm, hãy sử dụng những gì bạn thấy thoải mái hơn.
Tôi thích chèn một dòng mới trước khi các nhà khai thác.
Bất cứ khi nào tôi phải ngắt dòng, tôi thường đặt tối đa một thuật ngữ có cùng "cấp độ" trên một dòng:
Định luật hấp dẫn của Newton trong Python:
force = (
gravitational_constant
* mass_1
* mass_2
/ (distance * distance)
)
So sánh điều này với:
force = (
gravitational_constant *
mass_1 *
mass_2 /
(distance * distance)
)
Tôi muốn biết rằng tôi "chia theo bình phương khoảng cách", tôi không muốn biết rằng "khối lượng được chia", bởi vì đó không phải là cách tôi nghĩ về các biểu thức toán học.
Hơn nữa, tôi thường muốn biết trước tiên, những gì tôi đang làm (toán tử), trước khi tôi quan tâm đến những gì tôi làm với (toán hạng).
Hoặc xem xét câu lệnh SQL phức tạp này:
WHERE
a = 1
AND b = 2
AND c = 3
AND ( -- or put the OR on one line together with the AND
d = 3
OR e = 1)
AND x = 5
Điều này cho phép tôi xem các điều kiện riêng lẻ được kết nối rất dễ dàng, chỉ bằng cách lướt qua từ trên xuống dưới mà không cần phải đọc từng dòng cho đến khi kết thúc để tìm toán tử trái ngược với:
WHERE
a = 1 AND
b = 2 AND
c = 3 AND
(
d = 3 OR
e = 1) AND
x = 5
Tôi nghĩ về cái trước theo nghĩa " X
là đúng", sau đó tôi sửa đổi điều đó bằng cách nói: " VÀ điều này cũng đúng" mà tôi cảm thấy tự nhiên hơn so với cách khác. Hơn nữa, tôi thấy việc phân tích trực quan đầu tiên dễ dàng hơn nhiều.
Hoặc một ví dụ về PHP:
$text = "lorem ipsum"
. "dolor sit amet, "
. "consectetur adipisicing elit, "
. "sed do eiusmod tempor";
Một lần nữa, tôi chỉ có thể đọc lướt theo chiều dọc để thấy tôi chỉ đơn giản là ghép văn bản, bởi vì hầu hết thời gian tôi cảm thấy rằng tôi không thực sự quan tâm những gì bên trong chuỗi / điều kiện.
Tất nhiên, tôi sẽ không áp dụng phong cách này vô điều kiện. Nếu đặt dòng mới sau khi một nhà điều hành dường như có ý nghĩa hơn đối với tôi, tôi sẽ làm như vậy, nhưng tôi không thể nghĩ ra một ví dụ tại thời điểm này.