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
TTmagic viết 18:30 ngày 30/09/2018

e chọn style 3
Lý do: có 1 lệnh thì viết thế cho dễ đọc

Trần Hồng Phong viết 18:36 ngày 30/09/2018

Style 2. Dù trường hợp nào thì cũng viết kiểu như vậy

NguyenDanh viết 18:30 ngày 30/09/2018

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:

  • do thói quen
  • do nhìn đẹp
  • do dễ dàng kiểm soát
  • mình k keo tới mức tiết kiệm 1 dòng code đâu
viết 18:34 ngày 30/09/2018

chọn 2b mà chả thấy option nào 2b nên phải chọn style 3

Huy Vũ viết 18:28 ngày 30/09/2018

chọn style 1 vì nó có vẻ gọn hơn dễ nhìn

... viết 18:36 ngày 30/09/2018

Style 2.
Trước em viết như thế này:

if ( condition )
{
        one-statement;
}

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.

if ( condition )     {
        //a new line here
        one-statement;
}
Đinh Quốc Hân viết 18:34 ngày 30/09/2018

Chuẩn 2 vì em theo chuẩn php pear

Nguyễn Duy Khánh viết 18:30 ngày 30/09/2018

if ( expression )
{
one-statement;
}

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

Nguyễn Minh Dũng viết 18:32 ngày 30/09/2018

chọn 2b mà chả thấy option nào 2b nên phải chọn style 3

Đã sửa, lúc nãy vội quá viết nhầm, cảm ơn @dailammoc nhé.

viết 18:37 ngày 30/09/2018

Mình thì phang tất, kiểu như thành thói quen!

TTmagic viết 18:32 ngày 30/09/2018

mình e chơi style 3 à =))

buithaiminh viết 18:27 ngày 30/09/2018

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).

Nguyễn Viết Ca viết 18:33 ngày 30/09/2018

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

Nguyễn Minh Dũng viết 18:28 ngày 30/09/2018

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.

// style 1
if ( expression )
    one-statement;

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.

// style 2
if ( expression ) {
    one-statement;
}

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.

// style 2b
if ( expression )
    {
    one-statement;
    }

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.

// style 3
if ( expression ) one-statement;

Vậy chọn cái nào là tốt nhất?

Trang Tuân viết 18:37 ngày 30/09/2018

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.

X viết 18:33 ngày 30/09/2018

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

*grab popcorn* viết 18:23 ngày 30/09/2018

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!

Nguyễn Minh Dũng viết 18:30 ngày 30/09/2018

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é

Nguyễn Hoàng Phi viết 18:27 ngày 30/09/2018

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

nhatlonggunz viết 18:26 ngày 30/09/2018

Em Style 3, cơ mà thêm thế này cho dễ đọc

if (Expression) {one statement}
Bài liên quan
0