Anladığım kadarıyla bu yüzden herhangi bir neden yoktur, parantez hiçbir fark olduğu (dışındaki kod netlik “aşın”) Clang varsayılan olarak bu uyarıyor? Kodun eklenmesi için kod eklemeyi sevmediğim için parantez eklememeyi tercih ediyorum.Clang neden '||' `içinde uyarıyor: '' && '?
src/websocket.c:420:43: warning: '&&' within '||' [-Wlogical-op-parentheses]
if (rv == 0 && N != 0 || rv == -1 && errno == ECONNRESET) {
~~ ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
src/websocket.c:420:43: note: place parentheses around the '&&' expression to
silence this warning
if (rv == 0 && N != 0 || rv == -1 && errno == ECONNRESET) {
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Nasıl * Açıklık * uğruna kod eklemeye ne dersiniz? Buradaki parantezler, '&&' ve '||' nin (genellikle bu kadar sık olmayanlar) önceliği ile ilgili kuralları hatırlamayan insanlara yardımcı olur. – cHao
Netliği artırmak için kod eklemek için hepim. Ancak kişisel olarak, gereksiz parantezlerin ek görsel gürültüsünün bu durumda netliği azalttığını buluyorum. Fazladan parantez gördüğünüzde hemen ben hiçbiri bulduğunda, söz konusu kod sadece için “yardım” Bana çalışıyorsa ben yanlış veya okursanız Sonra bir süre düşünmek zorunda onlar için bir neden arıyor bütün çizgi tarama zaten bildiğim operatör önceliğini anlamak. Bu kod * kesinlikle * deneyimsiz kodlayıcılar için değil, onu okuyan insanların çoğu benim seviyemde olacak ve bu yüzden aynı şeyleri kabul edeceğim. netlik ile ilgili nokta geçerli bir biri olmasına karşın – mxcl
, bu dilin kurallarına göre bir derece yasal kodu için uyarmak garip görünüyor. –