30/09/2018, 16:22
Poll: [programming-style] Cách viết block of code chỉ có 1 dòng?
Các bạn cho mình biết là bạn sẽ chọn phong cách nào và tại sao?
// style 1
if ( expression )
one-statement;
// style 2
if ( expression ) {
one-statement;
}
// style 2b
if ( expression )
{
one-statement;
}
// style 3
if ( expression ) one-statement;
- style 1
- style 2
- style 2b
- style 3
Bài liên quan
e chọn style 3
Lý do: có 1 lệnh thì viết thế cho dễ đọc
Style 2. Dù trường hợp nào thì cũng viết kiểu như vậy
1 dòng thì chọn cái đầu tiên còn nhiều dòng thì style 2b là đẹp nhấtt
p/s:
chọn 2b mà chả thấy option nào 2b nên phải chọn style 3
chọn style 1 vì nó có vẻ gọn hơn dễ nhìn
Style 2.
Trước em viết như thế này:
Nhưng thấy style 2 dễ nhìn nên tập lại việc bấm nút Tab.
Còn việc có 1 câu lệnh em cũng có dấu ngoặc { } vì sau này lỡ có muốn thêm câu lệnh vào thì đỡ mất công căn chỉnh ngoặc mà chỉ cần ấn Enter là code vô luôn.
Chuẩn 2 vì em theo chuẩn php pear
Nếu sau if có 1 lệnh thì thường e cũng ko dùng {} , sau có vài lệnh thì dùng style 2b cho dễ coi, sau này đọc lại cũng dễ hình dung
Đã sửa, lúc nãy vội quá viết nhầm, cảm ơn @dailammoc nhé.
Mình thì phang tất, kiểu như thành thói quen!
mình e chơi style 3 à =))
Không biết tại sao nhưng mình dùng style 1 vì cảm thấy nó rõ ràng, trực quan nhất.
Style 2a 2b dài dòng không cần thiết, cầu toàn.
Style 3 thì có vẻ hơi ẩu, khó nhìn (đôi khi cũng dùng style 3 với statement ngắn gọn).
theo nguyên tắt thì một lệnh không nhất thiết phải có ngoặc { }
lệnh con thì thụt vào một tab so với lệnh cha
Trong mấy style này, mỗi cái có một nhược điểm riêng
Với style 1, code ngắn gọn. Trong hầu hết mọi trường hợp thì code kiểu này cũng tốt. Tuy nhiên, nếu sau này mình muốn thay đổi hàm này, thêm một dòng lệnh nữa. Thì khi đó ta phải thêm
{}
. Lúc nãy sẽ khá phiền và có thể dẫn đến lỗi không cần thiết. Code nhiều sẽ thấy cái này.Với style 2, code tuân theo một quy tắc cố định mà ta đã quy ước trước, tương tự như style 1. Luôn phải thêm
{}
nhưng code kiểu này sẽ đảm bảo sau này việc sử chữa sẽ tốt hơn.Với style 2b, tương tự như style 2. Nhưng ở đây Đạt cố tình tab dấu ngoặc
{}
chứ không phải vô tình nhé. Kiểu này không được hay lắm vì nó khó nhìn hơn.Với style 3, code kiểu này cũng ổn thôi. Nhưng nó sẽ gặp vấn đề như style 1, và còn một vấn đề quan trọng hơn là lúc debug sẽ rất khó chịu. Vì debug sẽ debug theo dòng, nên mình không biết là điều kiện này có đúng hay không, có thực thi statement không.
Vậy chọn cái nào là tốt nhất?
style 2b nếu không có tab cặp dấu { } vào vì visual studio nó autocomplete như vậy, sửa lại thì mệt nên để nguyên luôn lúc siêng sửa code lại cho dễ nhìn thì có dùng style 1, style 3 ít dùng vì như anh @ltd nói đúng là debug rất ức chế, chỉ xài trừ khi biết chắc cú điều kiện.
chọn Style 2.
nhưng đôi khi dùng cả style 1 hoặc style 3 trong trường hợp điều kiện đơn giản. statement ngắn
style 3 đơn giản vì lười nhấn nút shift + [ để ra dấu {
‘3’
bởi v khá thích python vì không cần ; hay {
=))
P/s: Mà poll của bài không đủ!
Điều kiện thì điều kiện như thế nào. Ví dụ ngắn củn như if(a) blabla; thì v quá đơn giản
Còn nếu như if(a&&b&&c&&d&&e||f||g||h) thì lúc đó code lại khác :>
Lúc đó lại chọn cách 2a. Do biết cả mớ đk như vậy ít nhiều cũng sẽ thêm vài câu lệnh xử lí vào!
Bài này đang nói tới các trường hợp đơn giản. Như trường hợp mà @drgnz đang nói tới với điều kiện phức tạp thì Đạt sẽ làm 1 topic khác để hỏi các bạn cách giải quyết nhé
Style 2. Sách của trường toàn viết theo kiểu này. Nên em đã quen viết thế rồi
Em Style 3, cơ mà thêm thế này cho dễ đọc