kuuko pushed a commit to branch master.

commit 70e0ef0be8b86c66b447d5929c1b673f78e84be5
Author: Kai Huuhko <[email protected]>
Date:   Sat Mar 30 22:22:33 2013 +0000

    Add discussion items to CODING.
---
 CODING | 46 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

diff --git a/CODING b/CODING
index bcf1b41..be09977 100644
--- a/CODING
+++ b/CODING
@@ -5,11 +5,7 @@ Style
 * For indentation, use *four space characters* per level of indentation.
 
 * When comparing C pointers, use == and != instead of the python operator "is".
-  This makes a visual distinction between C and py code and don't confuse the
-  reader as "==" and "is" has different meaning in python.
-
-* Internal utility functions used in the bindings must start with an
-  underscore and must have the shortest name as possible.
+  This makes a visual distinction.
 
 Design patterns
 ===============
@@ -47,3 +43,43 @@ Ideas
 =====
 
 * Use a decorator for _METHOD_DEPRECATED
+
+Discussion
+==========
+
+* When comparing C pointers, use == and != instead of the python operator "is".
+  This makes a visual distinction between C and py code and don't confuse the
+  reader as "==" and "is" has different meaning in python.
+  ^
+  This last clarification is not true. We're actually comparing whether two
+  references are the same (pointer comparison) which is what the operator
+  "is" does in Python, not whether their value is the same, which is what
+  "==" does in Python.
+
+  This is a direct quote from Cython developer Stefan Behnel:
+  "If a user wants pointer comparison, "is" is the most explicit operator
+  w.r.t. Python semantics."
+
+  I don't mind if it's "==" for visual difference, but confusing everyone
+  by first telling them the operators' meaning in Python and then using them
+  in reverse is absolutely not acceptable.
+
+  / kuuko
+
+* Internal utility functions used in the bindings must start with an
+  underscore and must have the shortest name as possible.
+  ^
+  This needs further discussion/expansion.
+
+  When we define a function with cdef it is not exposed to Python API.
+  This should be explicit enough to not need the underscore prefix, which
+  at best looks ugly, and at worst just plain confusing.
+
+  A function name should summarize its functionality in one clear text,
+  short sentence. We have both too long and too short names. And I admit to
+  being guilty of adding many of both.
+
+  Let's build up a short review so we can see where we stand with this and
+  make necessary corrections.
+
+  / kuuko

-- 

------------------------------------------------------------------------------
Own the Future-Intel(R) Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest. Compete 
for recognition, cash, and the chance to get your game on Steam. 
$5K grand prize plus 10 genre and skill prizes. Submit your demo 
by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2

Reply via email to