Khi thực hiện đánh giá mã cho một đồng nghiệp ngày hôm nay tôi đã thấy một điều kỳ dị. Anh ta đã bao quanh mã mới của mình bằng các dấu ngoặc nhọn như thế này:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
Kết quả là gì, nếu có, từ điều này? Điều gì có thể là lý do để làm điều này? Thói quen này đến từ đâu?
Biên tập:
Dựa trên đầu vào và một số câu hỏi dưới đây, tôi cảm thấy rằng tôi phải thêm một số câu hỏi, mặc dù tôi đã đánh dấu một câu trả lời.
Môi trường là các thiết bị nhúng. Có rất nhiều mã C kế thừa được bọc trong quần áo C ++. Có rất nhiều C đã phát triển C ++.
Không có phần quan trọng trong phần này của mã. Tôi chỉ thấy nó trong phần này của mã. Không có phân bổ bộ nhớ chính nào được thực hiện, chỉ có một số cờ được đặt và một số thay đổi đôi chút.
Mã được bao quanh bởi dấu ngoặc nhọn là:
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(Đừng bận tâm đến mã, chỉ cần bám vào các dấu ngoặc nhọn ...;)) Sau các dấu ngoặc nhọn, có thêm một chút vặn vẹo, kiểm tra trạng thái và báo hiệu cơ bản.
Tôi đã nói chuyện với anh chàng và động lực của anh ta là giới hạn phạm vi của các biến, đặt tên các cuộc đụng độ và một số khác mà tôi không thể thực sự chọn.
Từ POV của tôi, điều này có vẻ khá lạ và tôi không nghĩ rằng các dấu ngoặc nhọn nên có trong mã của chúng tôi. Tôi đã thấy một số ví dụ hay trong tất cả các câu trả lời về lý do tại sao người ta có thể bao quanh mã bằng dấu ngoặc nhọn, nhưng bạn không nên tách mã thành các phương thức thay thế?