Có những chủ đề cũ như tab và space, nhưng lần này là câu hỏi về cách chèn khoảng trắng.
Ví dụ, giả sử có đoạn mã như ví dụ bên dưới.
Khi đó sẽ có người viết from và dấu bằng sao cho thẳng cùng một cột, và cũng có người không làm vậy.
// Case A.
import potato from 'potato';
import sweetpotato from 'sweetpotato';
const red = 0xff0000;
const orange = 0xff8000;
// Case B.
import potato from 'potato';
import sweetpotato from 'sweetpotato';
const red = 0xff0000;
const orange = 0xff8000;
Hãy để lại bình luận cho biết bạn thích trường hợp nào trong hai trường hợp này.
Trên hết, mình cũng tò mò không biết những kiểu này có tên gọi riêng hay không.
- Tôi thích A.
- Tôi thích B.
- Tôi thích X nhưng ở công ty thì dùng Y (...)
10 bình luận
Tôi thích B và công ty tôi cũng dùng B.
Tôi chủ yếu thích A hơn.
Nhưng đôi khi, khi phải định nghĩa hơn 10 hằng số và biến, tôi cũng rất hiếm khi dùng nó.
Tôi chọn A. Nếu B không được quy định thành convention thì khi cộng tác sẽ khá bất tiện.
Tôi thích A.
Thỉnh thoảng tôi thấy đoạn code được viết theo kiểu B trong code do người khác viết, và mỗi lần như vậy tôi đều ấn tượng vì nó trông khá dễ đọc. Tuy vậy, nếu viết theo kiểu B thì formatter và linter gần như nổi điên, nên tôi hầu như chưa từng viết theo kiểu B. Với lại, viết như vậy cũng hơi phiền.
Thỉnh thoảng tôi dùng kiểu B, nhưng viết code căn theo vị trí tab stop.
Mình không thích lắm vì có nhược điểm là diff bị lan sang các dòng khác một cách không cần thiết.
Tất nhiên có thể xem diff với tùy chọn bỏ qua khoảng trắng, nhưng cũng không thể ép những người làm cùng hay reviewer code phải làm vậy được..
Trong đa số trường hợp, tôi thích A hơn.
Chỉ có đúng 1 lần khi viết mã mà tôi cảm thấy trường hợp như B tốt hơn. Đó là đoạn mã cần tích hợp với một DLL bên ngoài, và ở phần định nghĩa các hằng số khác nhau để dùng trong DLL đó, tôi đã dùng cách như B để dễ đọc hơn.
Tất nhiên, vì đoạn mã tích hợp này hầu như không có chuyện thay đổi nhiều, nên sau khi viết xong một lần thì cũng không phải đụng vào nữa; đó cũng là lý do tôi có thể chọn cách như B. Nếu là đoạn mã thay đổi thường xuyên thì có lẽ tôi vẫn sẽ cố bám theo cách A.
Tôi thích việc tự động căn chỉnh bằng formatter theo từng ngôn ngữ!
(Thường thì là A, nhưng có vẻ như
gofmtcủa Go đã làm theo kiểu B.)A nhé!
Style B thì nếu không có formatter riêng sẽ khá vất vả để quản lý, và tùy font mà việc căn chỉnh cũng có thể bị lệch nữa...