Hỏi về vấn đề dễ đọc code

Em đang tự hỏi vài bữa nay, phân vân không biết có nên để ngoặc nhọn của vòng lặp khi nó ko cần thiết hay không, nhưng bỏ nó đi thì e sợ nó sẽ không rõ ràng, cho e xin ý kiến với ạ. Đây là ví dụ.

for(int i=0; i<10 ; i++)
    {
        for(int j=0; j<10 ; j++)
        {
            if(1==1&&1|1)
            {
                printf("Daynhauhoc.com\n");
                printf("Good code\n");
            }
        }
    }

Có thể viết thành

for(int i=0; i<10 ; i++)
    for(int j=0; j<10 ; j++)
        if(1==1&&1|1)
        {
            printf("Daynhauhoc.com\n");
            printf("Good code\n");
        }

Theo mình thì nên để trong cặp ngoặc nhọn. Không chỉ để rõ ràng mà còn tránh các lỗi có thể xảy ra.
Nếu không có cặp ngoặc, muốn bổ sung thêm 1 dòng mã thì có thể quá trình chạy không như ý.
Lúc trước mình cũng hay viết gọn cho if - else hay các vòng lặp 1 dòng, nhưng khi thêm đoạn mã mới thì xảy ra lỗi không mong muốn. Giờ đây, cho dù đơn giản có thể ghi trên 1 dòng mình vẫn dùng cặp ngoặc nhọn.

if(n < 0) cout << -1;
if(n < 0){
    cout << -1;
}
9 Likes

Hồi mới học, mình thích

if(n < 0)
{
    cout << -1;
}

nhưng giờ mình thích:

if(n < 0){
    cout << -1;
}

nhưng có 2 cái notes thêm:
#1 là bạn thích gì không quan trọng lắm, vì khi làm việc, nhất là ở những công ty lớn, code theo chuẩn của công ty, bạn buộc phải code theo tiêu chuẩn thống nhất đó.

#2 là việc code dài ra thêm vài dòng cũng không ảnh hưởng gì. Mình nhớ là có đọc ở đâu đó, người ta có bảo “cố gắng cho cái logic của mình nó ngắn và rõ ràng, chứ không phải ráng viết cho cái dòng code ngắn lại”.
Thực tế là trong team có nhiều người, trình độ sẽ không đồng đều nhau, nên nếu viết ngắn/tắt quá, thì thời gian để người khác đọc/hiểu code của bạn còn nhiều hơn thời gian bạn biết 1 đoạn code dài dòng.

8 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?