[Groonga-mysql-commit] mroonga/mroonga [master] doc coding-style: add about number in condition

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 15日 (木) 18:17:21 JST


Kouhei Sutou	2012-03-15 18:17:21 +0900 (Thu, 15 Mar 2012)

  New Revision: 826615647104df75e8b269e9999c290c75930c2e

  Log:
    doc coding-style: add about number in condition

  Modified files:
    doc/source/developer/coding_style.rst

  Modified: doc/source/developer/coding_style.rst (+18 -0)
===================================================================
--- doc/source/developer/coding_style.rst    2012-03-15 18:11:04 +0900 (ea334e4)
+++ doc/source/developer/coding_style.rst    2012-03-15 18:17:21 +0900 (3cd0d2a)
@@ -467,3 +467,21 @@ bool型を用いる
     char *name = NULL;
     if (name == NULL) { ... }
 
+数値は比較する
+^^^^^^^^^^^^^^
+
+CやC++では ``0`` は偽、 ``0`` 以外は真の値となるが、条件式に数値を使う場合は ``strcmp(...) == 0`` などというように明示的に比較する。
+
+C++では真偽値に ``bool`` を使うためこのような状況は発生しないが、C言語由来のAPIでは ``int`` で真偽値を表現している場合が多い。しかし、 ``int`` だけでは真偽値として使っているか本当に数値として使っているかがわかりにくいため、 ``int`` のときはすべて数値として扱う。
+
+よい例:
+
+     if (memcmp(value1, value2, value_size) == 0) {
+       printf("same value!\n");
+     }
+
+悪い例( ``0`` を偽の値として扱っている):
+
+     if (!memcmp(value1, value2, value_size)) {
+       printf("same value!\n");
+     }




Groonga-mysql-commit メーリングリストの案内
Back to archive index