Coding conventions vs Programming style

Câu hỏi hay, theo quan niệm trước giờ của mình là thế này (mình chưa đọc định nghĩa hàn lâm của nó nên không biết có đủ chưa)

Coding Convention bao hàm Programming Style. Tuy nhiên nhiều người hay nhóm vẫn sử dụng hai khái niệm này qua loại một cách linh hoạt, nói chung là không strictly lắm.

Programming Style, nhiều người cũng gọi là Coding Style thường là về mặt trình bày và tổ chức code của bạn. Ví dụ nhiều style bắt bạn phải viết thế này:

if ((x>=1) && (y<=0))

thay vì thế này

if (x>=1 && y <=0)

Coding Convention, nhiều người lại gọi là Coding Rule không chỉ quy định về mặt hình thức như Programming Style mà còn về mặt thực thi của code. Chẳng hạn nhiều Coding Rule qui định bạn không được viết thế này:

if (x>0) {
 ...
 }
else if (y<0) {
 ... 
}
...

mà phải thế này (luôn phải có else) để tránh bug:

if (x>0) {
 ...
 }
else if (y<0) {
 ... 
}
else {
 //do nothing
}

...

Nên tham khảo nhiều Coding Rule của các hãng lớn để biết code thế nào cho ra đồng tiền bát gạo. Ví dụ đây là rule của Google https://google.github.io/styleguide/cppguide.html